【问题标题】:triggering a transition of a element when hovered on another element当悬停在另一个元素上时触发元素的转换
【发布时间】:2014-12-13 08:21:10
【问题描述】:

我有一个 div 是框和一个不透明度设置为 0 的“p”元素。当我将鼠标悬停在 div 上时,我希望“p”元素的不透明度更改为 1。我有以下代码。它对我来说看起来很合适,但它不起作用。我无法弄清楚它的问题。有人能帮我吗。提前致谢。

HTML:

<p class="se">Hover over the div element below</p>
 <div class="box"></div> 

css:

.se{
position: relative;
color:red;
opacity:0;
}

.se{
-webkit-transition: opacity 2s;
transition: opacity 2s;
} 
.box{
position: relative;
left: 400px;
width: 100px;
height: 100px;
background: red;  
}

box:hover + .se{
opacity:0;
}

jsFiddle http://jsfiddle.net/2f1k5yq4/

【问题讨论】:

  • + 是相邻兄弟选择器。它选择紧随其后的兄弟。

标签: css hover css-transitions


【解决方案1】:

CSS 选择器+

作为前一个元素的下一个兄弟元素的任何元素(即: 同一父母的下一个孩子)

.box {
  position: relative;
  left: 400px;
  width: 100px;
  height: 100px;
  background: red;
}
.se {
  color: red;
  opacity: 0;
  position: relative;
  transition: 1s linear;
}
.box:hover + .se {
  opacity: 1;
}
<div class="parent">
  <div class="child">
    <div class="box"></div>
    <p class="se">Hover over the div element below</p>
  </div>
</div>

【讨论】:

  • 谢谢。你的回答奏效了。一个小小的疑问。当我将这两个元素作为另一个 div 的子元素而另一个 div 的子元素时,此解决方案不起作用。也许我的选择器做错了。我的疑问是,当这些 div 作为另一个 div 的子级时,是否有另一种方法来触发转换。提前致谢。
  • 你需要正确定位类@Prem
  • 我的html如下:
  • 我的html如下:

    hello world

    hello world

    当我将鼠标悬停在“wo1”类上时,我希望“wook1”类的图像将其不透明度更改为 1。
  • 我的css如下。 .wook1{ -webkit-transition:opacity 2s;过渡:不透明度2s;不透明度:0; } .wo1:hover +.wook1{ 不透明度:0; }
【解决方案2】:

这实际上只是 CSS 的一种令人讨厌的问题。我更喜欢使用 Javascript,特别是如果您已经将 jQuery 加载到您的站点中。

但是,也就是说,这可以在 CSS 中完成。我将假设您只想显示/隐藏一个元素,因此我将使用 display 作为示例而不是 opacity,因此请根据需要进行修改以使用过渡。

您遇到的第一个问题是您box:hover 而不是.box.hover。第二个问题更烦人。 Abhitalks 是正确的 +,相邻的兄弟选择器,只选择下一个兄弟,所以你不能在 div 上方显示文本。但是,如果您切换顺序,将 div 移动到文本上方,它就可以工作。如果需要,您可以使用一些巧妙的定位、浮动等,以使它们的出现顺序与它们在标记中的顺序不同。

.se{
  display: none
}

.box{
  width: 100px;
  height: 100px;
  background: red;  
}

.box:hover + .se{
  display: block;
}
<div class="box"></div> 
<p class="se">Hover over the div element below</p>

【讨论】:

  • 没问题!如果它是正确和有用的,你应该接受它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-16
  • 1970-01-01
  • 1970-01-01
  • 2015-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多