display:none和visibility:hidden的区别

空间占据上的区别

如果用文字来描述,简单一句话就是display:none的元素是彻底消失,也就是说该元素的宽度、高度等各种属性值都将“丢失”,不在文档流中占位,浏览器也不会解析该元素;而visibility:hidden只是视觉上消失了,可以理解为透明度为0(opacity:0)的效果,它仍具有高度、宽度等属性值,因此在文档流中占位,浏览器会解析该元素。

因此,我们可以知道display:none的元素隐藏后不占据额外空间,状态切换会产生回流重绘,而visibility:hidden的元素虽然隐藏了,但它们仍然占据着空间,它的状态切换只会引起页面重绘

<style>  
        div {  
            width: 200px;  
            height: 200px;  
            background: #ccc;  
            margin-top: 10px;  
        }  
        .div1 {  
            display: none;  
        }  
        .div2 {  
            visibility: hidden;  
        }  
    </style>  
    <body>  
        <div class="div1">  
            <p>display:none</p>  
        </div>  
        <div class="div2">  
            <p>visibility:visible</p>  
        </div>  
    </body>

div1:display:none和visibility:hidden的区别

div2:display:none和visibility:hidden的区别

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/114692.html<

(0)
运维的头像运维
上一篇2025-02-17 21:43
下一篇 2025-02-17 21:44

相关推荐

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注