css:悬停时动画边框

Kir*_*hin -1 javascript css

我正在尝试创建带边框的菜单(请参阅http://multijuice.org/),我需要将悬停时的边框从活动元素移动到hovered。我怎么能做到这一点?也许,有人知道一些教程吗?

UPD:完成!请参阅此 js 文件以获取答案。谢谢大家!

Vit*_*des 5

演示 - http://jsfiddle.net/victor_007/gujrud4y/

您可以使用这样的东西,但您需要更改每个页面上带下划线的位置,或者您可以使用 jQuery 检查哪个<li>具有活动类并进行相应设置

nav {
  text-align: center;
}
ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: inline-block;
  position: relative;
  font-size: 0px;
}
ul li {
  display: inline-block;
  padding: 8px 0;
  width: 80px;
  text-align: center;
  font-size: 15px;
  cursor: pointer;
}
span.border {
  height: 2px;
  background: red;
  width: 80px;
  position: absolute;
  left: 80px;
  bottom: 0;
  transition: .5s linear;
}
li:nth-child(1):hover ~ span.border {
  left: 0px;
}
li:nth-child(2):hover ~ span.border {
  left: 80px;
}
li:nth-child(3):hover ~ span.border {
  left: 160px;
}
li:nth-child(4):hover ~ span.border {
  left: 240px;
}
Run Code Online (Sandbox Code Playgroud)
<nav>
  <ul>
    <li>one</li>
    <li class="active">two</li>
    <li>three</li>
    <li>four</li>
    <span class="border"></span>
  </ul>
</nav>
Run Code Online (Sandbox Code Playgroud)