display:none和visibility:hidden

先看一下在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); /* 占据空间,可以点击 */ }

重点说一下其中使用频率最高的两种display:none和visibility:hidden,这哥俩有什么区别呢

青铜回答:空间占据

display: none不占据空间;visibility: hidden占据空间

黄金回答:株连性(继承)

display: none 非继承属性 一旦父节点设置了以后,本身以及子孙所有节点都不可见,怎么挣扎都于事无补,就像游戏里面打怪boss死了小怪就直接清零了

visibility: hidden 继承属性 子孙节点消失是由于继承了hidden,通过设置visibility:visible,可以让子孙节点显示。

王者回答:性能问题

其实这个也是因为空间占据的问题引起的

display: none由于不会占据空间,所以会引起回流和重绘;而visibility: hidden还占据空间所以只会引起重绘

关于重绘和回流可以移步CSS之 重绘和回流

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值