4

我正在尝试创建一个水平菜单,当您将鼠标悬停在它上面时,它会增加高度并显示一个垂直列表。如果有一种方法可以在菜单高度增加时进行平滑过渡,那也很好。

#nav {
  width: 100%;
  height: 20px;
  background-color: #989898;
}
#nav:hover {
  height: 80px;
}
#nav li {
  display: inline;
  padding: 15px;
}
#nav a {
  color: black;
  text-decoration: none;
}
<div id="nav">
  <ul>
    <li><a href="#">Item 1</a>
    </li>
    <li><a href="#">Item 2</a>
    </li>
    <li><a href="#">Item 3</a>
    </li>
  </ul>
</div>

这是我想要做的 gif 演示:

在此处输入图像描述

4

3 回答 3

2

我将此代码添加到您的代码中以使其具有动画效果:

-webkit-transition: all 0.2s linear;
-moz-transition: all 0.2s linear;
-o-transition: all 0.2s linear;
-ms-transition: all 0.2s linear;
transition: all 0.2s linear;

这是一个小提琴:

http://jsfiddle.net/Hive7/7HS8p/

于 2013-09-06T16:51:22.460 回答
1

像这样的东西?

jsFiddle 演示在这里

-webkit-animation: move .5s;
-webkit-animation-fill-mode: forwards;

@-webkit-keyframes "move" {
 100% {
   height:80px;
 }
}
于 2013-09-06T16:53:17.060 回答
1

看看这个例子:它类似于你想要的......

关联

于 2013-09-06T17:02:49.520 回答