html - CSS 底部边框悬停 "jitter"

标签 html css colors hover border

我有一个导航栏,当您将鼠标悬停在导航按钮上时,我想给它一个橙色的底部边框。唯一的问题是,无论何时悬停,边框都会使内容/导航按钮“抖动”,这是它们不应该的。此外,我已经在导航栏上始终设置了黑色底部边框,因此无法更改它。

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;
}

最佳答案

抖动似乎是由悬停时在底部添加额外的 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
}

这应该可以让你稳定下来。

关于html - CSS 底部边框悬停 "jitter",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29859343/

相关文章:

javascript - JS : Profile What Objects Constructors are Garbage Collected

javascript - 每当 Bootstrap 导航栏折叠或展开时触发 JavaScript?

opengl - OpenGL 中的变色

html - CSS/HTML5 相当于 iframe marginheight 和 marginwidth

css - div中的不同图像大小对齐

html - 将鼠标悬停在 float 元素上时出现 CSS 问题

javascript - 导航菜单翻译网页时水平滚动并溢出隐藏

iOS 颜色过渡导航栏

javascript - 获取图像的主色调

java - 从 Html 字符串建模一个类,实例化该类并从该字符串填充变量,然后从该类返回 html 字符串