标签导航:

问题:scale 内容后如何相应缩小外层高度?

在 html 中,可以使用 transform: scale() 来缩小元素。但是,当对内容元素使用 scale 时,外层元素的高度可能不会相应缩小。

例如,如下所示代码中:

<div>
    <div
      style="height: 500px;transform-origin: left top;transform: scale(.8);"
    >
        12313
    </div>
</div>

如果去掉 transform: scale(.8);,外层 div 的高度为 500px。但是,添加 scale 后,内容高度明显小于 500px,但外层 div 的高度仍然是 500px。

在这种情况下,如何让外层 div 的高度跟随内容高度缩小呢?

答案:

遗憾的是,除了使用 javascript 计算并动态调整外层 div 的高度之外,目前似乎没有更好的方法。这是因为 transform 不改变布局,其在文档中的占位保持不变。而这也是它在动画中更高效的原因。