CSS底部边框悬停“抖动”
Posted
技术标签:
【中文标题】CSS底部边框悬停“抖动”【英文标题】:CSS bottom border hover "jitter" 【发布时间】:2015-07-03 18:10:57 【问题描述】:我有一个导航栏,当您将鼠标悬停在导航按钮上时,我想给它一个橙色的底部边框。唯一的问题是,每当您悬停时,边框会使内容/导航按钮“抖动”,这是它们不应该的。此外,我在导航栏上已经有一个黑色的底边框,所以它不会改变它。
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;
【问题讨论】:
【参考方案1】:抖动似乎是由于悬停时在底部添加了额外的 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
这应该为你稳定事情。
【讨论】:
以上是关于CSS底部边框悬停“抖动”的主要内容,如果未能解决你的问题,请参考以下文章