我有一个导航栏,当你将鼠标悬停在导航按钮上时,我想给它一个橙色的底部边框。唯一的问题是,无论何时悬停,边框都会使内容/导航按钮“抖动”,这是他们不应该的。此外,我在导航栏上始终有一个黑色的底部边框,所以它不会改变它。
HTML:
<div id="navBarTop">
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="contact.html">Contact</a></li>
</ul>
</div>
CSS:
#navBarTop {
padding: 0;
background-image: url('navBarBackground1.png');
border-bottom: 1px solid #4c4c4c;
position: absolute;
bottom: 0;
text-align: center;
left: 0;
right: 0;
}
#navBarTop ul {
list-style: none;
width: 800px;
margin: 0 auto;
padding: 0;
display: inline-block;
}
#navBarTop li {
display: inline-block;
}
#navBarTop li a {
display: block;
padding: 10px 25px;
text-decoration: none;
font-family: "Arial";
color: #ffffff;
}
#navBarTop li a:hover {
border-bottom: 2px solid #FF8000;
}
答案 0 :(得分:2)
抖动似乎是由于悬停时在底部添加额外的2px边框引起的。这导致文本上升了一点。要解决此问题,请将#navBarTop li a
更改为此内容,确保始终为2px边框:
#navBarTop li a {
display: block;
padding: 10px 25px;
text-decoration: none;
font-family: "Arial";
color: #00ffff;
border-bottom: 2px solid transparent; // <--- add this line
}
这应该可以为你稳定。