【问题标题】:CSS bottom border hover "jitter"CSS底部边框悬停“抖动”
【发布时间】: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;
}

【问题讨论】:

    标签: html css colors hover border


    【解决方案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
    }
    

    这应该为你稳定事情。

    【讨论】:

      猜你喜欢
      • 2020-01-09
      • 2015-05-21
      • 1970-01-01
      • 1970-01-01
      • 2020-03-15
      • 1970-01-01
      • 2015-04-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多