我不明白为什么在下面的代码中,链接悬停效果从中间开始而不是从左到右。有人可以解释为什么会这样吗?
.orange-link {
color: orange;
position: relative;
text-decoration: none;
}
.orange-link:before {
content: "";
position: absolute;
width: 100%;
height: 3px;
background: orange;
bottom: 0;
border-radius: 5px;
transform: scaleX(0);
transition: .25s linear;
}
.orange-link:hover:before,
.orange-link:focus:before {
transform: scaleX(1);
}
<p>Visit the official rules <a class="orange-link" href="#">here</a> on how to send in a write-in entry.</p>
最佳答案
这是因为CSS转换的默认原点是元素的中心。
该线跨越了整个宽度,但是缩放到0(从中心开始)。然后,在悬停时,线会按比例缩放回原来的完整宽度。
关于html - 为什么此链接悬停效果从中间开始而不是从左边开始?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56636559/