display:none和visibility:hidden的区别?——每日一题20190630

本文详细介绍了使用CSS控制元素可见性的多种方法,包括display:none、visibility:hidden等,对比它们的特点及适用场景,帮助开发者掌握更灵活的页面布局技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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)?有什么区别?

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值