0
点赞
收藏
分享

微信扫一扫

display:none和visibility:hidden区别?

浮游图灵 2022-03-19 阅读 65
css3csshtml

display:none和visibility:hidden区别?

1.区别一:占位

display:none是彻底消失,不在文档流中占位,浏览器也不会解析该元素,可以理解为看不见摸不着

visibility:hidden是视觉上消失了,可以理解为透明度为0的效果,在文档流中占位,浏览器会解析该元素,可以理解为看不见摸得着

2、区别二:repaint(重绘)、reflow(渲染)

repaint(重绘) ,repaint发生更改时,元素的外观被改变,且在没有改变布局的情况下发生,如改变outline,visibility,background color,不会影响到dom结构渲染。

reflow(渲染),与repaint区别就是他会影响到dom的结构渲染,同时他会触发repaint,他会改变他本身与所有父辈元素(祖先),这种开销是非常昂贵的,导致性能下降是必然的,页面元素越多效果越明显

display:none改变了dom的结构,所以产生了reflow visibility:hidden没有改变dom结构,触发repaint

举报

相关推荐

0 条评论