display: none; 与 visibility: hidden; 的区别

联系:它们都能让元素不可⻅
区别:
1、display:none ;会让元素完全从渲染树中消失,渲染的时候不占据任何空间;
visibility: hidden ;不会让元素从渲染树消失,渲染时元素继续占据空间,只是内容不可⻅。
2、display: none ;是⾮继承属性,⼦孙节点消失由于元素从渲染树消失造成,通过修改⼦孙节点属性⽆法显示 ;
visibility: hidden; 是继承属性,⼦孙节点消失由于继承了 hidden ,通过设置 visibility: visible; 可以让⼦孙节点显示。
3、修改常规流中元素的 display 通常会造成⽂档重排。
修改 visibility 属性只会造成本元素的重绘。
4、读屏器不会读取 display: none ;元素内容;
会读取 visibility: hidden; 元素内容

posted @ 2026-07-09 10:00  小肥123  阅读(4)  评论(0)    收藏  举报