欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

display:none和visibility:hidden的区别?

程序员文章站 2024-01-20 19:33:22
css控制元素不可见的方法 { display: none; /* 不占据空间,无法点击 */ } /********************************************************************************/ { visibility: hid ......

css控制元素不可见的方法 { display: none; /* 不占据空间,无法点击 */ }

/********************************************************************************/

{ visibility: hidden; /* 占据空间,无法点击 */ }

/********************************************************************************/

{ position: absolute; top: -999em; /* 不占据空间,无法点击 */ }

/********************************************************************************/

{ position: relative; top: -999em; /* 占据空间,无法点击 */ }

/********************************************************************************/

{ position: absolute; visibility: hidden; /* 不占据空间,无法点击 */ }

/********************************************************************************/

{ height: 0; overflow: hidden; /* 不占据空间,无法点击 */ }

/********************************************************************************/

{ opacity: 0; filter:alpha(opacity=0); /* 占据空间,可以点击 */ }

/********************************************************************************/

{ position: absolute; opacity: 0; filter:alpha(opacity=0); /* 不占据空间,可以点击 */ }

}

{ zoom: 0.001; -moz-transform: scale(0); -webkit-transform: scale(0); -o-transform: scale(0); transform: scale(0); /* ie6/ie7/ie9不占据空间,ie8/firefox/chrome/opera占据空间。都无法点击 */ }

/********************************************************************************/

{ position: absolute; zoom: 0.001; -moz-transform: scale(0); -webkit-transform: scale(0); -o-transform: scale(0); transform: scale(0); /* 不占据空间,无法点击 */ }

 

最常用的为display:none和visibility:hidden

dispaly:none 设置该属性后,该元素下的元素都会隐藏,占据的空间消失。

visibility:hidden 设置该元素后,元素虽然不可见了,但是依然占据空间的位置。

 

display:none和visibility:hidden的区别?

1.visibility具有继承性,其子元素也会继承此属性,若设置visibility:visible,则子元素会显示

2.visibility不会影响计数器的计算,虽然隐藏掉了,但是计数器依然继续运行着。

3.在css3的transition中支持visibility属性,但是不支持display,因为transition可以延迟执行,因此配合visibility使用纯css实现hover延时显示效果可以提高用户体验

4. display:none会引起回流(重排)和重绘 visibility:hidden会引起重绘 拓展明日每日一题:什么是回流(重排 reflow)?什么是重绘(repaint)?有什么区别?

 

 

拓展明日每日一题:什么是回流(重排 reflow)?什么是重绘(repaint)?有什么区别?