CSS3隐藏过渡
我有一个菜单,其悬停时的高度和可视性转换,并在没有悬停时转换回来。 它工作正常,但链接在淡出时隐藏起来。 我一直在寻找,我无法弄清楚如何防止它们彼此崩溃。 所以我的问题是,我怎么阻止它这样做呢? 这只是我忽略的一些简单的解决方案,还是更复杂的东西?
HTML
<header>
<section id="logo_section">
<h1><a href="#">FLASH OF REALITY</a></h1>
<p>Photography, Film, & Animation in Utah</p>
</section>
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Photography</a></li>
<li><a href="#">Video</a></li>
<li><a href="#">Animation</a></li>
<li><a href="#">My Portfolio</a></li>
<li><a href="#">Service</a></li>
<li><a href="#">Blog</a></li>
<li><a href="#">About Me</a></li>
/ul>
</nav>
</header>
CSS
header ul li {
visibility: hidden;
height: 0px;
transition: visibility .5s, height .5s;
}
header:hover ul li {
visibility: visible;
height: 57px;
}
当你转换<li>
项目的高度时,它们将逐渐变为0,因此它们将全部坐在彼此的顶部,因为它们没有高度。
您可以将<ul>
的最大高度从0转换为比列表要高的值,而不是转换<li>
。
header ul {
max-height: 0;
transition: max-height .5s;
overflow: hidden;
}
header:hover ul {
max-height: 600px;
}
http://jsfiddle.net/4CfeU/2/
链接地址: http://www.djcxy.com/p/27419.html下一篇: Using CSS to transition the fill property of an SVG path on hover