display和visibility的区别

吴和硕
2023-12-01

做前端快一年了,竟然对css的visibility一点印象都没有,今天总结一下两者的区别:

 

1.display:none是彻底消失,不在文档流中占位,浏览器也不会解析该元素visibility:hidden是视觉上消失了,可以理解为透明度为0的效果,在文档流中占位,浏览器会解析该元素;

2.使用visibility:hidden比display:none性能上要好,display:none切换显示时visibility,页面产生回流(当页面中的一部分元素需要改变规模尺寸、布局、显示隐藏等,页面重新构建,此时就是回流。所有页面第一次加载时需要产生一次回流),而visibility切换是否显示时则不会引起回流。

 

除去对性能的考虑,二者的区别就是一个在文档流中占位置,一个不会占

 类似资料: