代码如下:
CSS
.test1 {
display: none;
/*visibility: hidden;*/
}
.test2 {
background-image: url('test.jpg');
}
HTML
<div class="test1">
<div class="test2"></div>
</div>
Result
- 代码执行时,监测网络却发现
test.jpg
没有被下载? - 而把
display: none;
换成visibility: hidden;
之后,test.jpg
被下载了
QA
-
display: none;
和visibility: hidden;
的区别是什么? - 尤其是在不同情景下使用中的区别(如上示例),请尽可能的举例说明。
个人理解的是当display:none的时候,dom会并不对div进行渲染,所以css里的背景图片没有加载,但而显示的时候,浏览器全新解析渲染,而这时会读取css里的背景图片。
另外对于display为none的时候,当前区域会消息,不占用位置,而visibility为hiden的时候,会占用位置,但内容不显示.
不清楚理解的对不对?