我正在尝试创建一种效果,如果用户将鼠标悬停在某个元素上,该元素就会消失。我已经尝试了下面的代码,但似乎display:none;
破坏了 CSS。我想知道为什么我的 CSS 不起作用,以及我将如何解决我的问题。
<div class="foo">text</div>
.foo:hover {
color: red;
display: none;
}
我正在尝试创建一种效果,如果用户将鼠标悬停在某个元素上,该元素就会消失。我已经尝试了下面的代码,但似乎display:none;
破坏了 CSS。我想知道为什么我的 CSS 不起作用,以及我将如何解决我的问题。
<div class="foo">text</div>
.foo:hover {
color: red;
display: none;
}
尝试更改元素的不透明度:http: //jsfiddle.net/XtmVQ/
.foo:hover {
opacity:0;
}
试试这个而不是 display:none
visibility:hidden
试试这个:
.foo:hover {
opacity: 0;
}
您对此的最终意图是什么?
正如@Richard 所说,使用不透明度
另外,要倒退,即执行以下操作:
filter:alpha(opacity=0); /* For IE8 and earlier */
您还可以添加一个过渡:
transition: 0.5s
所以它不是即时的。
您可以执行其他人建议的操作,使用opacity: 0;
or visibility:hidden;
,但如果您必须将其隐藏在页面流程中。然后执行以下操作:
使用这样的 CSS:
.hidden{
display: none !important;
}
您可以使用该类hidden
并将其应用于任何元素以隐藏它。对于您想要的悬停行为,您需要 JavaScript/jQuery 来应用类名。见http://jsfiddle.net/rkH7F/
我认为 css 行不通。使用 jQuery
更新
哦,我的坏。css 会工作,但 jquery 会有更好的效果
$('#outer').mouseenter(function() {
$("#outer").hide();
}); $('#outer').mouseleave(function() {
$("#outer").show();
});
固定的
$('#outer').mouseenter(function() {
$("#outer").slideUp();
}); $('#outer').mouseleave(function() {
$("#outer").slideDown();
});