我关注HTML,默认情况下div .info
有display:none
,我想在悬停时将其更改为display:block
。我正在尝试关注CSS,但:hover
不起作用。
HTML:
<div id="items">
<div class="item">
<a href="#">
<div clas="info">
</div>
</a>
</div>
</div>
CSS
#items .item a .info{
display: none;
}
#items .item a .info:hover{
display: block;
}
的jsfiddle: http://jsfiddle.net/qcDtF/
感谢。
答案 0 :(得分:15)
您不能将鼠标悬停在未显示的内容上。您可以改用opacity或visibility。 jsFiddle
.info {
opacity: 0;
}
.info:hover {
opacity: 1;
}
或者,如果您确实想要使用display:none
,请为#items
,.item
或您的外a
设置一个宽度和高度,并放置{{ 1}}关于那个元素。 jsFiddle。例如:
:hover
如果您想要正确的#items{
width: 20px;
height: 20px;
}
.info{
display: none;
}
#items:hover .info {
display: block;
}
和width
,可以使用javascript / jQuery获取可见height
的宽度/高度,隐藏.info
,然后将.info
的高度/宽度设置为从#items
获得的值。
答案 1 :(得分:2)
您没有在信息中显示内容,因此无法悬停隐藏的
您可以执行this
之类的操作<div id="items">
<div class="item">
<a href="#">sd
<div class="info">
asdf
</div>
</a>
</div>
</div>
CSS
#items .item a .info{
display: none;
}
#items .item a:hover .info{
display: block;
}
你不能通过悬停来做到这一点,但你可以改变悬停时的不透明度,这样它就会隐藏并显示为用户@jeff gortmaker说
aslo
如果您有jquery作为选项,那么您可以像
那样执行此操作$('.info').hover(function() {
$(this).fadeTo(1,1);
},function() {
$(this).fadeTo(1,0);
});
答案 2 :(得分:1)
使用visibility
代替display
:
#items .item .info {
visibility: hidden;
}
#items .item:hover .info {
visibility: visible;
}