【发布时间】:2021-01-11 09:36:17
【问题描述】:
我有一行在悬停时应用背景突出显示。
.jobs .item:hover {
background: #e1e1e1;
border-top: 1px solid #d0d0d0;
}
但是,当边框向元素添加 1px additional 时,它会使其“移动”。我将如何在此处补偿上述移动(不使用背景图像)?
【问题讨论】:
-
你的元素有定义的高度吗?如果是这样,您可以 1) 在现代浏览器中使用
box-sizing: border-box(带有必要的前缀),或者 2) 通过添加与默认背景颜色相同的边框并将指定高度减少 1 个像素来作弊。 -
在下面查看我的答案,如果我在这里滞后,请告诉我,以便我更具体地了解您的问题。
-
我的情况不适用于以下解决方案,我什至在看到这个帖子之前就尝试过。我有多个不同的按钮,1. 已经有边框,2. 有不同的边距。我不能简单地制作透明边框,因为不悬停时我已经需要一个小边框。我不能仅仅通过差额来减少边距,因为每个边距都是不同的,而且我不能用 calc() 来做到这一点。我必须使用不同的 css 转到每个单独的元素并以不同的方式设置悬停边距(糟糕)或使边框 从我的颜色渐变到透明
标签: css