前端面试题-display:none和visibility:hidden的区别

1、display:none和visibility:hidden的区别

1.1 空间占据

1.2 回流和渲染

1.3 株连性

2、空间占据

display:none 隐藏后的元素 不占据任何空间,而 visibility:hidden 隐藏的元素 空间依旧存在

3、回流和渲染

display:none 隐藏产生回流和重绘(reflow 和 repaint),而 visibility:hidden 只产生重绘。

3、株连性

display:none 就是“株连性”明显的声明:一旦父节点元素应用了 display:none,父节点及其子孙节点元素所有不可见,并且不管其子孙元素如何不屈地挣扎都无济于事。web

4、隐藏失效

若子孙元素应用了 visibility:visible,则这个子孙元素不但不会隐藏,并且会显现出来。segmentfault

Codespa

隐藏失效

Example3d

隐藏失效

阅读更多blog

相关文章
相关标签/搜索