CSS 技巧篇(二):visibility:hidden和display:none的区别

2,497 阅读1分钟

一、子元素的继承

1、如果后代元素的visibility属性存在则不会继承其父元素的visibility属性值,不存在才会继承其父元素的visibility属性值。例如:父元素的visibility为hidden但是子元素的visibility为visible则子元素依旧可见;子元素visibility不存在则子元素继承父元素的visibility值为hidden。
2、父元素的display为none,则其后的所有元素都将不可见。

二、占据空间

1、visibility:hidden时,虽然其内容被隐藏,但是它所处的空间仍然被空白所占据。
2、display:none时,内容和空间都被隐藏,如同元素不存在一样。

案例代码 display与visibility的区别 by madman0621 (@madman0621) on CodePen.