display: none与visibility: hidden的区别

  1. display: none的元素不占据任何空间,visibility: hidden的元素空间保留;

  2. display: none会影响css3的transition过渡效果,visibility: hidden不会;

  3. display: none隐藏产生重绘 ( repaint ) 和回流 ( relfow ),visibility: hidden只会触发重绘;(回流重绘知识点参考:真正理解重绘和回流)

  4. 株连性:display: none的节点和子孙节点元素全都不可见,visibility: hidden的节点的子孙节点元素可以设置 visibility: visible显示。visibility: hidden属性值具有继承性,所以子孙元素默认继承了hidden而隐藏,但是当子孙元素重置为visibility: visible就不会被隐藏。

猜你喜欢

转载自www.cnblogs.com/bobo1/p/12370195.html