display:none 隐藏后的元素 不占据任何空间,而 visibility:hidden 隐藏的元素 空间依旧存在。
display:none 隐藏产生回流和重绘(reflow 和 repaint),而 visibility:hidden 只产生重绘。
display:none 就是“株连性”明显的声明:一旦父节点元素应用了 display:none,父节点及其子孙节点元素所有不可见,并且不管其子孙元素如何不屈地挣扎都无济于事。web
若子孙元素应用了 visibility:visible,则这个子孙元素不但不会隐藏,并且会显现出来。segmentfault
Codespa
Example3d
阅读更多blog