我真的很困惑如何使用css转换缩放元素会影响文档流.
考虑这个jsbin或本codepen因为jsbin似乎已经下来,我有
p{slipsum text}
#scaled
#scaled-content{some text}
p{slipsum text}
Run Code Online (Sandbox Code Playgroud)
与样式表
#scaled-contents {
height: 400px;
width: 400px;
background-color: blue;
color: red;
font-size: 3em;
}
#scaled {
transform: scale(0.25, 0.25); //browser prefixes...
width: 100px;
height: 100px
}
Run Code Online (Sandbox Code Playgroud)
我希望这与单个100x100蓝色方块相似.但是它被移动并且在铬上甚至略微重叠了下面的p元素.此外,检查devtools中#scaled的尺寸显示为蹲下和长时间,似乎超出它的100x100盒子.
最后,添加overflow: hidden;到#scaled完全是疯狂的事情.
到底是怎么回事?内容流如何受到影响?
chr*_*lez 11
CSS Transform不会影响文档流.DOM元素将占用页面流中的原始位置和尺寸.
因此,如果你有3个相同大小的方形div,连续显示内联并将-webkit-transform:scale(2)应用到中心方块,这个方块将扩大到200%,从原来的中心开始缩放位置,并与其他两个方块重叠.
参考示例:
HTML:
<div class="square one"></div>
<div class="square two"></div>
<div class="square three"></div>
Run Code Online (Sandbox Code Playgroud)
CSS:
.square{
margin-top:50px;
width:50px;
height:50px;
display:inline-block;
}
.one{
background:#222;
}
.two{
background:#888;
-webkit-transform: scale(2);
}
.three{
background:#ccc;
}
Run Code Online (Sandbox Code Playgroud)