【问题标题】:hover not working with other div elements悬停不适用于其他 div 元素
【发布时间】:2021-11-24 18:13:34
【问题描述】:

这是该按钮上的所有样式,我想让单击和应用隐藏,当鼠标悬停时,文本仅在悬停时出现,而在鼠标移开时消失

HTML 代码

  <section class="call-to-action">         
    <h1>Enroll for various online courses<br>Anywhere from the world</h1>
    <div class="click">Click</div> <div class="apply"> to Apply </div> 
    <a href="#">Call to Action</a>  
  </section>

CSS代码

.call-to-action a
{
color: white;                              
text-decoration: none;                          
font-weight: bolder;                   
letter-spacing: 2px;                        
display: inline-block;                               
background: transparent;                               
padding: 20px 14px;                               
border: .9px solid beige;                               
cursor: pointer;                               
transition: 0.7s;                                
 }
                           
.call-to-action a:hover
{
color: white;                               
text-decoration: none;                               
font-weight: bolder;                               
display: inline-block;                               
background: rgb(221, 64, 53);                               
padding: 20px 14px;                               
border: 1px solid beige;                               
cursor: pointer;                               
transition: 0.7s ;                               
transform:scale(1.2,1.2);                               
}
                           
.call-to-action .click
{
opacity: 0;                               
color: black;                               
font-size:20px ;                                                               
}
                           
.call-to-action .apply 
 {
  opacity: 0;                               
  color: black;                               
 font-size:20px ;                               
 }
                                                                                         
 .call-to-action a:hover > .click                               
 {                                                              
color: white;                               
position: absolute;                               
transform: translate(-40%,-40%);                               
font-size: 300px;                               
transition: 0.4s;                               
opacity: 1;                                  
 } 

在这种情况下谁能帮助我

【问题讨论】:

  • 选择器 .call-to-action a:hover &gt; .click 将不起作用,因为您无法在 CSS 中选择“向后”/“向上”。您的弹出文本元素必须是您正在切换的元素的子元素。
  • 我尝试过使用 .call-to-action a:hover .click 也没有用
  • 为了应用悬停效果,".click" 应该是 @lupz 已经说明的 "a" 的子级

标签: html css css-selectors hover


【解决方案1】:

签出这个方法:

这里发生了什么?

默认情况下,点击和应用文本的不透明度为 0。因此它对用户不可见。当您将鼠标悬停在文本上时,我们将不透明度更改为 100%,持续时间为 0.3 秒。因此,文本将被一个小的淡入动画使用可见。

检查下面的 CSS 代码

.call-to-action .click,
.call-to-action .apply{
  transition: all 0.3s ease;
  opacity: 0;
  color: #000;
  /* other syles you need */
}
.call-to-action .click:hover,
.call-to-action .apply:hover{
  opacity: 1;
}

【讨论】:

    【解决方案2】:

    .call-to-action a
    {
    color: white;                              
    text-decoration: none;                          
    font-weight: bolder;                   
    letter-spacing: 2px;                        
    display: inline-block;                               
    background: transparent;                               
    padding: 20px 14px;                               
    border: .9px solid beige;                               
    cursor: pointer;                               
    transition: 0.7s;                                
     }
                               
    .call-to-action a:hover
    {
    color: white;                               
    text-decoration: none;                               
    font-weight: bolder;                               
    display: inline-block;                               
    background: rgb(221, 64, 53);                               
    padding: 20px 14px;                               
    border: 1px solid beige;                               
    cursor: pointer;                               
    transition: 0.7s ;                               
    transform:scale(1.2,1.2);                               
    }
                               
    .call-to-action .click
    {
    opacity: 0;                               
    color: black;                               
    font-size:20px ;                                                               
    }
                               
    .call-to-action .apply 
     {
      opacity: 0;                               
      color: black;                               
     font-size:20px ;                               
     }
                                                                                             
     .call-to-action a:hover > .click                               
     {                                                              
    color: white;                               
    position: absolute;                               
    transform: translate(-40%,-40%);                               
    font-size: 300px;                               
    transition: 0.4s;                               
    opacity: 1;                                  
     }
     
    .call-to-action .click, .call-to-action .apply{
      transition: all 0.5s ease;
      opacity: 0;
      color: #000000;
    }
    .call-to-action .click:hover, .call-to-action .apply:hover{
      opacity: 1;
    }
    <section class="call-to-action">         
        <h1>Enroll for various online courses<br>Anywhere from the world</h1>
        <div class="click">Click</div> <div class="apply"> to Apply </div> 
        <a href="#">Call to Action</a>  
      </section>

    【讨论】:

    • 好吧,我不想要这个
    • 我只是想,如果我将按钮悬停,文本----应用到点击----应该出现在应用css的按钮上方,如果从按钮上移开鼠标,文本应该消失
    【解决方案3】:

    CSS 规则从上到下,从父级到子级应用。

    您不能向上或向后进行 CSS 选择以将属性应用于父元素或更早的兄弟元素。

    但是您可以将这两个元素包装在一个容器元素中以应用您的样式。

    .button-tooltip-container .tooltip {
        opacity: 0;                                                              
    }
    .button-tooltip-container:hover .tooltip {
        opacity: 1;                                                              
    }
    <div class="button-tooltip-container">
        <div class="tooltip">Button tooltip text</div>
        <button>Call to Action</button>
    </div>

    您应该阅读本文以开始使用 CSS 选择器https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors

    【讨论】:

    • 我没有告诉你我的 css 已经在同一个父元素中,但我只是在尝试从父元素中的子元素访问另一个子元素
    • CSS 中没有这样的层次结构。 HTML 标记定义了什么是父级,什么是子级。因此,它定义了您可以选择的方式和内容。
    猜你喜欢
    • 2015-01-15
    • 2022-12-05
    • 1970-01-01
    • 2022-07-07
    • 2011-10-02
    • 2018-06-18
    • 1970-01-01
    • 2012-01-25
    • 2012-07-15
    相关资源
    最近更新 更多