我正在尝试创建带边框的菜单(请参阅http://multijuice.org/),我需要在悬停时将边框从活动元素移动到hover
ed。我怎么能这样做?也许,有人知道一些教程吗?
UPD:完成!请参阅this js file以获取答案。谢谢大家!
答案 0 :(得分:4)
演示 - 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;
}
&#13;
<nav>
<ul>
<li>one</li>
<li class="active">two</li>
<li>three</li>
<li>four</li>
<span class="border"></span>
</ul>
</nav>
&#13;
答案 1 :(得分:0)
尝试在代码中更改此css类:
更改此
#main-nav .current-menu-item a, #main-nav .current_page_item a, .selected{
border-bottom: 3px solid #f5503b;
padding-bottom: 72px;
padding-left: 10px;
padding-right: 10px;
}
到
#main-nav .current-menu-item a, #main-nav .current_page_item a, .selected, #main-nav li a:hover {
border-bottom: 3px solid #f5503b;
}
并将padding
提供给类.#main-nav li a
,如下所示:
#main-nav li a {
border: 0 none;
color: #111;
display: block;
height: 36px;
line-height: 36px;
margin: 0 10px;
padding-bottom: 72px;
padding-left: 10px;
padding-right: 10px;
}