看起来您想在将.text
鼠标悬停在一个.item
元素(大概包括一个后代img
元素)上时显示后代元素。如果是这种情况,那么您只想将:hover
伪选择器放在.item
选择器上,而不是后代选择器上:
.item {
background: #136073;
border-style:solid;
border-color:#fff;
border-width:1px;
}
.item:hover img {
opacity: 0.3;
}
.item .text {
position:absolute; /*Notice this was added to correctly position the element*/
top:10px;
left:10px;
}
.item:hover .text {
opacity: 1;
}
还
要以跨浏览器的方式设置不透明度,您需要设置一些特定于 IE 的属性:
opacity : 0;
zoom : 1;
filter : "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter : alpha(opacity=0);
奖金
您可以通过设置和元素的transition
属性来为现代浏览器中的不透明度变化设置动画:img
.text
.item img,
.item .text {
-webkit-transition : opacity 500ms ease-in-out;
-moz-transition : opacity 500ms ease-in-out;
-ms-transition : opacity 500ms ease-in-out;
-o-transition : opacity 500ms ease-in-out;
transition : opacity 500ms ease-in-out;
}
在这里演示:http: //jsfiddle.net/LJnEH/1/