在不使用 CSS3 过渡的情况下,您需要使用 Javascript 来实现这一点。我会推荐使用jQuery
和animate()
功能。简单到可以为width
属性设置动画。
定位mousein
和mouseout
事件。
如果你想用 css3 做到这一点,它会是这样的:
HTML
<div class="flags">
<a href="#menu">current flag image</a>
<ul id="menu">
<li>flag 1 with image</li>
<li>flag 2 with image</li>
<li>flag 3 with image</li>
</ul>
</div>
CSS
#menu {
opacity: 0;
height: 0;
}
#menu:target {
opacity: 1;
transition: opacity .25s ease-in-out;
-moz-transition: opacity .25s ease-in-out;
-webkit-transition: opacity .25s ease-in-out;
height: auto;
}
请注意,这仅适用于:target
伪类的 css-only。据我所知,您不能将鼠标悬停在某物上并将过渡应用到另一个元素。在这种情况下,您将需要 Javascript 来添加和删除类以应用 css 转换。
作为家庭作业,您可以修改上述内容以转换.flags
创建“滑出”行为。