CSS3变换:缩放导致平移?

3

I have the following simple HTML code:

<!DOCTYPE html>
<html>
  <head>
    <meta charset=utf-8>
    <style>
      body {
        padding: 30px;
      }
      a {
        display: block;
      }
      a:hover {
        transform: scale(2); 
        transition: all 4s;
      }
    </style>
  </head>
  <body>

    <a href=#>Link</a>

  </body>
</html>

有一个场景,其中Link应该是可以缩放的。但是它会向左移动。问题出在哪里?


1
你也可以使用 font-size: 2em; - odedta
1个回答

4

body {
  padding:30px;
}
a {
  display: inline-block;
  transition: all 4s;
}
a:hover {
  transform: scale(2); 
}
<a href=#>Link</a>

你应该使用 display:inline-block 使其正常工作。如果这是你想要的,那么就点个赞吧。

一切都很顺利!您能否友好地解释一下为什么是这样呢? - Randy Tang
<a>元素是内联块级元素 - vanntile
1
回答自己的问题:我认为display: block;的问题在于块的宽度与<body>相同,将其加倍会导致非常大的宽度。因此,我们看到Link向左移动。 - Randy Tang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接