问题是在使用属性时,transform
父元素忽略了子元素大小的增加。
示例 1:使用宽度和高度的子容器
.main {
display: inline-flex;
background: green;
padding: 10px;
}
.element {
display: block;
background: red;
width: 100px;
height: 100px;
}
<div class="main">
<div class="element"></div>
</div>
示例 2:使用变换的子容器
.main {
display: inline-flex;
background: green;
padding: 10px;
}
.element {
display: block;
background: red;
width: 100px;
height: 100px;
transform: scale(1, 2);
}
<div class="main">
<div class="element"></div>
</div>
如何让它考虑transform
到父容器?
问题是转换不会增加元素 - 只会发生视觉变化。如果我们使用 js 请求转换后元素的尺寸,结果发现它们保持不变:
因此,如果父元素需要对子元素的变化做出反应,要么尺寸本身必须改变,要么父元素也必须与“女儿”同时发生变化。
CSS 转换模块级别 1规范说明如下:
PS 为了拉伸父容器,你将不得不使用 js。