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会。

 

posted @   Wanker  阅读(348)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示