我想添加一个border-bottom
,当我用鼠标悬停在它上面时会显示。我希望它覆盖下面的边框,所以看起来它会改变颜色。可在此处找到此示例http://www.formaplex.com/services(在导航栏中)
这是一个jsfiddle https://jsfiddle.net/ey006ftg/
另外,一个小问题:有没有人知道为什么链接之间存在小的差距(从链接到链接时可以看到)以及如何摆脱它。
由于
答案 0 :(得分:1)
只需将此添加到您的css:
nav a {
border-bottom: solid transparent 3px;
}
这是一个包含上述代码的jsfiddle:https://jsfiddle.net/AndrewL32/ey006ftg/1/
答案 1 :(得分:0)
<强> fiddle demo 强>
只需将默认边框设置为透明 - 在悬停时更改颜色
nav ul li a {
display: block;
padding: 21px 0;
font-size: 18px;
text-align: center;
letter-spacing: 1px;
text-transform: uppercase;
border-bottom: solid transparent 3px; /* add this! */
transition:0.3s; /* or even this :) */
}
答案 2 :(得分:0)
试试这个fiddle
要按照您想要的方式设置border-bottom
,您必须像这样为锚标记添加边框:
nav ul li a {
display: block;
padding: 21px 0;
font-size: 18px;
text-align: center;
letter-spacing: 1px;
text-transform: uppercase;
border-bottom: 3px solid black;
}
并确保菜单项之间的空间不见了,请使用一点修复程序为菜单中的li
标记添加负边距,如下所示:
nav ul li {
display: inline-block;
width: 17%;
margin-right: -4px;
}
答案 3 :(得分:0)
您可以使用负边距覆盖下面的边框,如下所示:
nav {
border-top: 1px solid grey;
border-bottom: 3px solid black;
width: 100%;
font-size:0;
}
nav ul {
width: 1056px;
margin: 0 auto;
text-align: center;
width: 1056px;
}
nav ul li {
display: inline-block;
width: 17%;
}
nav ul li a {
display: block;
padding: 21px 0;
font-size: 18px;
text-align: center;
letter-spacing: 1px;
text-transform: uppercase;
}
nav a:hover {
color: orange;
transition: 0.2s;
border-bottom: solid orange 3px;
margin-bottom: -10px;
}
a {
color: black;
text-decoration: none;
outline: 0;
}
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Products</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Careers</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
对于fighting the inline gap,看到您为a
标记稍后定义了字体大小,我只需添加font-size:0
,我将其添加到nav
中以上代码段。