【发布时间】:2019-12-01 00:19:56
【问题描述】:
我有一个元素,当我想将鼠标悬停在它上面时。它显示了我想要的边框,但是,它的作用是缩放文本并实际移动它......
像这样:-
过渡前
过渡后
正如您在图片中看到的那样,“关于我们”在悬停后向左移动了一点,这是因为边框的缘故。我怎样才能让它留在它的位置? 这是我的代码
&--dropdown {
list-style: none;
position: absolute;
width: 25rem;
height: 14rem;
background-color: $color-additional;
overflow: hidden;
&-item {
position: relative;
width: 34rem;
padding: 1rem 0 1rem 2rem;
transition: all ease 0.2s;
&:not(:first-of-type) {
border-top: 1px solid $color-navigation-border;
}
&:hover {
background-color: $color-white;
border-left: 5px solid $color-primary;
}
&-link {
color: $color-black;
text-decoration: none;
}
}
}
【问题讨论】:
-
在此处添加代码进行澄清
-
您是否尝试使用
outline属性,而不是border?或者将属性box-sizing设置为border-box。您的代码的一瞥将在这里有所帮助。另一种方法是永久添加边框,无论元素是否悬停,并将边框颜色设置为背景颜色,在初始状态。 -
@AkshitMehra 你去。添加代码
-
@AkshitMehra
outline不是一个好主意,box-sizing: border-box将不起作用。但是,您的最后一种方法会奏效。 -
感谢@Aaron3219 纠正!您发布的答案会很好用。