html - 元素边框在悬停时移动

标签 html css hover

我希望右边框始终是静态的。 此时,当我悬停 li 元素时,右边框向下移动 5px,因为悬停时 border-top 为 5px。

HTML

<nav>
   <ul>
     <li><a href="link1">link1</a></li>
     <li><a href="link2">link2</a></li>
     <li><a href="link3">link3</a></li>             
     <li><a href="link4">link4</a></li>
   </ul>
  </nav>

CSS

    nav li a {
    border-right: 1px solid #cdcdcd;
    }
    nav ul li:first-child a:hover {
        border-top:5px solid #d1e751;
    }
    nav ul li:nth-child(2) a:hover {
        border-top: 5px solid #F06B50;
    }
    nav ul li:nth-child(3) a:hover {
        border-top: 5px solid #eee;
    }
    nav ul li:last-child(4) a:hover {
        border-top: 5px solid #a8def4;
    }

http://jsfiddle.net/Xfy6P/

最佳答案

在底部添加它,它会修复它 ^^,通过在悬停时添加 padding-bottom 它将补偿边框顶部将添加的额外像素,就像 18 - 5 = 13 并且边框右侧将保留一样的

nav ul li a:hover{
    padding-bottom:13px;
}

关于html - 元素边框在悬停时移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21905990/

相关文章:

javascript - 需要帮助使 jQuery Transit 转换重复

php - 允许在 HTMLPurifier 中解析完整的 html

javascript - document.getElementByClassName 不工作但 document.getElementById 工作

CSS 网格响应图像库 : Animation getting stuck on its way

css - 如何使用悬停仅移动图像的一部分

javascript - jQuery - 悬停事件上显示的非嵌套/非后代同级导航

css - HTML5 与 HTML4 - h1 标签呈现额外的空间 - 如何删除?

javascript - 将div附加到页面导致整个页面跳转

html - 保留 CSS 动画中的最后一个关键帧属性

css - 悬停在图像上时如何放大但使边框保持原位?