我不明白为什么在下面的代码中,链接悬停效果从中间开始而不是从左到右。有人可以解释为什么会这样吗?

.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/

10-11 14:22