我正在尝试重新创建类似于《僵尸世界大战》电影网站上的菜单效果,但我似乎无法正确地使用CSS过渡。我已经让悬停元素显示了隐藏块,但CSS过渡不起作用。我正在尝试获得一个酷效果,可以从顶部或底部滑动,我没有具体的偏好。此外,如果我试图在任何链接上悬停,子菜单就会在我点击之前消失。这里是Fiddle。
HTML:
<ul id="menutitle">Menu Title</ul>
<ul id="submenu">
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 3</a></li>
<li><a href="#">Link 4</a></li>
</ul>
</nav>
CSS:
#topmenu {
background: #000;
width: 150px;
height: 50px;
color: #fff;
}
#submenu {
display: block;
position: absolute;
width: 110px;
display: none;
background: #333;
list-style: none;
line-height: 2em;
}
#menutitle:hover + #submenu {
display: block;
-webkit-transition: height 1s ease;
-moz-transition: ease-in 2s none;
-ms-transition: ease-in 2s none;
-o-transition: ease-in 2s none;
transition: ease-in 2s none;
}
#menutitle { color: #ff0000; }
a { color: #FF0; }
ul
不正确,因为除了li
之外,ul
中不能包含任何内容。这一行<ul id="menutitle">Menu Title</ul>
需要更改为<ul id="menutitle"><li>Menu Title</li></ul>
才能成为有效的HTML。 - Josh Powell