CSS中display和visibility隐藏区别

在我们开发中,经常需要对一些元素进行隐藏,在css中提供了2种隐藏属性供开发者使用,分别是display和visibility
现在简单回顾一下
display属性

  • inline (默认值) 显示为内联元素
  • none 此元素会被隐藏
  • block 显示为块级元素
  • inline-block 显示为行内块元素

visibility属性

  • visible (默认值)元素是可见的
  • hidden 此元素会被隐藏

这里就简单探讨一下
在同一情境下为一个元素分别设置display:none和visibility:hidden时候看看各自的表现

//情景假设 //在一个div盒子里面装有4个小盒子,同时让它们向左浮动
在这里插入图片描述在这里插入图片描述
接下来,为盒子1开启display属性,看看效果如何
在这里插入图片描述在这里插入图片描述
我们可以看到,盒子1隐藏了,同时自身位置被其它元素霸占了

再接下来,为盒子1开启visibility属性,看看位置又会怎么样变化
在这里插入图片描述在这里插入图片描述

我们可以看到,盒子1隐藏了,但是自身位置还保留,神奇!!!

好了总结一下

  • display控制盒子隐藏时,盒子不占原位置,下方的盒子自动往上移动(身体和灵魂都不见了)
  • visibility控制盒子隐藏时,盒子原位置保留,只不过内容隐藏了,其余地方都是不动位置的(身体不见了但灵魂还在)

猜你喜欢

转载自blog.csdn.net/weixin_46505015/article/details/105356117