display:none和overflow:hidden的区别
1、display:none
当将一个元素的display属性设置为none时,该元素将不会显示在网页中,并且不会占据任何空间。也就是说,该元素会完全隐藏,其他的元素会立即占据它原来的位置。该属性适用于需要完全隐藏某个元素的场景。
// html代码:完全隐藏子元素 <div class="father"> <div class="child">子元素</div> </div>
// css代码:为了更好观看结果,给他们加上背景颜色 * { padding: 0; margin: 0; } .father { background-color: skyblue; height: 500px; width: 100%; border: 1px solid black; } .child { background-color: pink; height: 700px; width: 300px; display: none; }
2、overflow:hidden
当将一个元素的overflow属性设置为hidden时,它会裁剪超出其指定尺寸的内容,并且隐藏被裁剪的内容。该属性适用于需要限制元素内部内容溢出的场景。
// html代码:隐藏溢出的部分子元素 <div class="father"> <div class="child"></div> </div>
// css代码: * { padding: 0; margin: 0; } .father { background-color: skyblue; height: 500px; width: 100%; border: 1px solid black; overflow: hidden; } .child { background-color: pink; height: 700px; width: 300px; }
3、总结
(1)占据空间:display:none 渲染时不再占据任何空间,会让元素从DOM树中完全消失,而overfl:hidden会继续占据空间,只是溢出部分隐藏;
(2)回流与渲染:display:none会产生回流和重绘,而overfl:hidden不会;
(3)浏览器解析:display:none浏览器不会解析该元素,而overfl:hidden会。
分类:
CSS
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具