【问题标题】:Hover shows lower div悬停显示较低的 div
【发布时间】:2017-10-19 08:34:59
【问题描述】:

我想显示一个带有背景颜色的 div,并在其中显示一个带有标题的 <p>。将鼠标悬停在它上面应该会出现一个<p>(文本)并且第一个消失(标题)。我在玩 z-index 属性,但我无法实现它:

这是我的代码:

.magigDiv {
  width: 50%;
  float: left;
  background-color: forestgreen;
  padding: 10px;
  border-radius: 25px;
  height: 150px;
  border: 1px double black;
  opacity: 0.5;
  position: relative;
}

.text1 {
  display: flex;
  justify-content: center;
  align-items: center;
}
<div class="magigDiv">
  <p class="text1" style="width: 100%;z-index:100;height:150px;position:absolute;">
    LOREM IPSUM
  </p>
  <p style="z-index: -1;width: 100%; height:150px;position:absolute;">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor
    in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
  </p>
</div>

【问题讨论】:

    标签: jquery html css twitter-bootstrap-3


    【解决方案1】:

    您可以通过将opacity 0 设置为 1 来尝试一些简单的操作。请查看下面的 sn-p 以供参考。

    .magigDiv {
      width: 50%;
      float: left;
      background-color: forestgreen;
      padding: 10px;
      border-radius: 25px;
      min-height: 150px;
      border: 1px double black;
      opacity: 0.5;
      position: relative;  
    }
    
    .title {
      text-align: center;
      opacity: 1;
      transition: all 0.3s ease;
    }
    
    .text {
      opacity: 0;
      transition: all 0.3s ease;
    }
    
    .title:hover+.text {
      opacity: 1;
    }
    .title:hover{
      opacity:0;
    }
    <div class="magigDiv">
      <p class="title">
        LOREM IPSUM
      </p>
      <p class="text">
        Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
      </p>
    </div>

    【讨论】:

    • 太棒了...有效!!谢谢@RaJeshRiJo。还有一个问题,什么是 .title:hover+.text ?
    • .title.text 是兄弟姐妹,所以这里+ 有助于找到相邻的兄弟姐妹。
    【解决方案2】:

    我认为你需要:

    1) 为&lt;div&gt;分配一个固定高度

    2) 将position: relative 用于&lt;div&gt;position: absolute 用于&lt;p&gt;

    3) 你需要先使用 JQuery 向上滑动&lt;p&gt; 以便显示第二个

    【讨论】:

    • 如何使用 Jquery 获取它?
    【解决方案3】:

    先添加这个css:

    div p:last-child:hover { top:-50px; position:relative; background-color:green;}
    

    并更改您应用的内联样式中的一些属性,如下所示:

    <div style="width: 40%; float:left; background-color: green;padding: 10px; position:relative;">
    
        <p style="z-index: 2;width: 100%;height:100%;z-index:100; text-align: center; vertical-align: middle;">
            LA EMPRESA
        </p>
        <p style="z-index: 3;width: 100%;height:100%;">
            Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
            Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor
            in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident,
            sunt in culpa qui officia deserunt mollit anim id est laborum
        </p>
    </div>
    

    【讨论】:

    • 谢谢@Hanif。现在我可以看到两个

      并悬停第二个覆盖原始 div 中的第一个

    猜你喜欢
    • 2014-10-06
    • 1970-01-01
    • 1970-01-01
    • 2014-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-22
    相关资源
    最近更新 更多