在下面的代码中,我设置了底部边框ul.在将鼠标悬停在其中的项目上时ul,我想在ul边框上准确显示底部边框或悬停项目.我无法设置两个边框(ul和ul项目)的位置,以便它们在悬停时相互依赖.
我尝试过使用绝对位置和线高,但无法取得多大成功.
这就是我想要的:

这是代码:
HTML:
<div class="box">
<ul>
<li><a href="#">test 1</a></li>
<li><a href="#">test 2</a></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
ul{
list-style: none;
padding: 0 0 10px;
margin: 0;
border-bottom: 5px solid green;
overflow: hidden;
}
ul li{
float: left;
margin-left: 20px;
}
a{
text-decoration: none;
display: block;
}
a:hover{
border-bottom: 5px solid red;
}
Run Code Online (Sandbox Code Playgroud)
SW4*_*SW4 11
您希望将您的- ul和li- 偏移子项的底部偏移li边框的宽度,同时将其设置为transparent然后使用li:hover事件/选择器将Broder颜色设置为红色.
使用以下CSS:
ul {
list-style: none;
margin: 0;
border-bottom: 5px solid green;
position:relative;
padding:0;
}
ul li {
padding:10px 10px;
margin-left: 20px;
display:inline-block;
position:relative;
bottom:-5px; /* <-- offset bottom of li by border width so it overlaps ul green border */
border-bottom: 5px solid transparent; /* add border, make transparent so it doesnt 'jump' on hover */
}
a {
text-decoration: none;
display: block;
}
li:hover {
border-color:red; /* <-- use the li hover event (not a hover) to color the border */
}
Run Code Online (Sandbox Code Playgroud)