transform对普通元素的渲染影响
1、transform改变overflow对absolute元素的限制
absolute绝对定位元素,如果含有overflow不为visible的父类元素,同时该父级元素以及到该绝对定位元素之间任何嵌套元素都没有position为非static的属性,则overflow对该absolute元素不起作用。”
例如下面的代码:<p style="width:200px;height:300px;overflow:hidden;">
<img src="images/1.jpg" alt="" style="position:absolute">
</p>overflow对img元素不起作用,展示结果如下:

但是如果在父元素(或者它们之间嵌套的元素)中设置:transform:scale(1);或tranform:translate(0,0);则能够使overflow发挥作用,增加transform后显示结果如下:
2、transform限制absolute的100%宽度大小
当我们设置absolute元素的宽度为100%时,都要参照第一个position为非static的元素,但是现在设置了transform的元素也要被认为是position设置为非static的元素了。看下面的代码:div没有设置transoform之前:
<div style="width:300px;height:300px;overflow:hidden;">
<img src="images/1.jpg" alt="" style="position:absolute" width="100%">
</div>显示结果如下:

div设置transform之后的显示结果如下:
3、transform可以改变元素的叠加顺序
负值margin可以使后面的元素覆盖掉前面的元素(前面的元素没有设置position为非static的值),代码如下:
<span style="font-size:10px;font-weight: normal;"><div style=" width:700px;height:400px;overflow:hidden;">
<img src="images/1.jpg" alt="" style="" width="250px" height="300px">
<img style="margin-left:-90px" src="images/p1.jpg" alt="" width="300px" height="300px">
</div></span>
显示结果如下:
<span style="font-size:10px;font-weight: normal;"><div style=" width:700px;height:400px;overflow:hidden;">
<img src="images/1.jpg" alt="" style="" width="250px" height="300px">
<img style="margin-left:-90px" src="images/p1.jpg" alt="" width="300px" height="300px">
</div></span>
本文探讨了transform属性如何影响CSS布局,包括如何使overflow对absolute元素生效、限制absolute元素的100%宽度、改变元素的叠加顺序,以及影响position:fixed元素的滚动效果。通过对父元素应用transform:scale(1)或translate(0,0),可以解决overflow对absolute元素的限制问题。"
103709429,7529826,Web实验课程:利用Cookie实现登录注册功能,"['Web开发', '前端开发', '后端开发', '登录注册', 'Cookie管理', 'Node.js']
1152

被折叠的 条评论
为什么被折叠?



