chdyiboke / weekly

issue and share weekly
5 stars 1 forks source link

css中opacity、visibility、display三者区别 #51

Open liukexina opened 3 years ago

liukexina commented 3 years ago

opacity用来设置透明度 display定义建立布局时元素生成的显示框类型 visibility用来设置元素是否可见 opacity、visibility、 display 这三个属性分别取值0、hidden、 none 都能使元素在页面.上看不见,但是他们在方方面面都还是有区别的。

liukexina commented 3 years ago

1.是否占据空间: 使用opacity、visibility时,元素还是占据页面空间的,使用display属性,元素不占据空间

2.对子元素影响: 使用opacity、display时,子元素设置opacity和display是不起作用的,显示效果和父元素效果一样 使用visibility属性,子元素设置visibility: visible,并没有受父元素影响,可以继续显示出来

3.自身绑定事件是否能继续触发 visibility和display属性 自身事件不会触发,使用opacity,自身绑定事件仍然会触发

4.是否产生回流、重绘 display产生回流,opcaity、visibility不产生回流 display、visibility产生重绘,opacity不一定产生重回

参考地址