开发者社区> 问答> 正文

display: none 和 visibility: hidden 的区别,为什么设置的背景图片没下载?

代码如下:

CSS

.test1 {
    display: none;
    /*visibility: hidden;*/
}
.test2 {
    background-image: url('test.jpg');
}

HTML

<div class="test1">
    <div class="test2"></div>
</div>

Result

1.代码执行时,监测网络却发现test.jpg没有被下载?
2.而把display: none;换成visibility: hidden;之后,test.jpg被下载了

QA

1. display: none;和visibility: hidden;的区别是什么?
2.尤其是在不同情景下使用中的区别(如上示例),请尽可能的举例说明。

展开
收起
杨冬芳 2016-05-31 10:48:27 3144 0
1 条回答
写回答
取消 提交回答
  • IT从业

    个人理解的是当display:none的时候,dom会并不对div进行渲染,所以css里的背景图片没有加载,但而显示的时候,浏览器全新解析渲染,而这时会读取css里的背景图片。

    另外对于display为none的时候,当前区域会消息,不占用位置,而visibility为hiden的时候,会占用位置,但内容不显示.
    不清楚理解的对不对?

    2019-07-17 19:21:31
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载