css链接元素在悬停时跳转

发布于 2024-10-30 19:06:57 字数 156 浏览 1 评论 0原文

我试图在悬停时在链接周围放置边框,并且样式适用于它,但是当我将鼠标悬停在它上面时它会跳跃(元素跳跃)...我能做什么? 代码:

  .navigation li:hover {
   border: 1px solid #ccc;
 }

I am trying to put a border around a link on hover, and the style applies to it, but it jumps (the element jumps) when i hover over it... what can I do?
code:

  .navigation li:hover {
   border: 1px solid #ccc;
 }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

时光无声 2024-11-06 19:06:57

你的“跳跃”是由边框的 1px 高度引起的,这使你的 li 移动

你可能会使用

 .navigation li:hover {
   border-color: #ccc;
 }

 .navigation li {
   border: 1px solid #<parentBackgroundColor/transparent>;
 }

它。这样,边框从一开始就在这里,因此悬停时不会跳转,并且它是不可见的,因为它与父容器的颜色相同或透明。

You 'jump' is caused by the 1px height of the border, that make your li move

You might use

 .navigation li:hover {
   border-color: #ccc;
 }

 .navigation li {
   border: 1px solid #<parentBackgroundColor/transparent>;
 }

instead. This way, the border is here from the beginning, so no jump on hovering, and it's invisible, since it's the same color of the parent container or transparent.

全部不再 2024-11-06 19:06:57
.navigation li {
    border: 1px solid transparent;
}

当你没有悬停时,你可以添加一个透明的边框,这样它就不会跳跃了。

或者,您可以删除元素周围总共 2px 垂直 padding,例如:

.navigation li {
    padding: 10px
}
.navigation li:hover {
    padding: 9px;
    border: 1px solid #ccc;
}
.navigation li {
    border: 1px solid transparent;
}

You can add a transparent border when you're not hovering, then it won't jump.

Or, you can remove a total of 2px vertical padding around the element, for example:

.navigation li {
    padding: 10px
}
.navigation li:hover {
    padding: 9px;
    border: 1px solid #ccc;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文