【问题标题】:CSS Problems with increasing menu height on hover悬停时增加菜单高度的CSS问题
【发布时间】:2013-09-06 16:41:29
【问题描述】:

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

#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 演示:

【问题讨论】:

  • 查看 CSS 过渡。

标签: html css css-transitions


【解决方案1】:

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

-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/

【讨论】:

  • 我比我更喜欢你的,因为它有“悬停”效果……它会向后滑动,不像我的。 1+
【解决方案2】:

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

Link

【讨论】:

  • 谢谢vishalkin!这真的很有帮助:)
【解决方案3】:

这样的?

jsFiddle demo here

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

@-webkit-keyframes "move" {
 100% {
   height:80px;
 }
}

【讨论】:

  • 就是这样!谢谢乔希 C :)
猜你喜欢
  • 2014-06-10
  • 2012-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-30
  • 2012-12-23
  • 1970-01-01
  • 2011-03-07
相关资源
最近更新 更多