天天看点

display与visibility的区别

很多时候我们都会接触到这两个属性(display,visibility),特别是当我们想要隐藏一个元素或者显示一个函数的话,我们就会使用到上面提及到的属性。那当我们用来使用这两个属性来隐藏的时候,他们都能达到隐藏的效果,但是他们之间有什么不同呢?

首先,如果我们要实现隐藏的目的的话,display属性应该设置为none:意思是没有该属性。visibility属性应该设置为hidden。我们先来看一段代码。

<style>

.p1{

    visibility:hidden;

}

</style>

</head>

<body>

<p class="p1">隐藏第一个</p>

<p class="p2">隐藏第二个</p>

</body>

这个是当我们隐藏第一个元素的时候的效果:

display与visibility的区别

这就说明了,当我们要隐藏第一个元素的时候,它之前所占的空间还是会占有的。其他的元素是不会随着它的隐藏而发生变化的。

当我们使用的是display的时候,

<style>

.p1{

display:none;

}

</style>

</head>

<body>

<p class="p1">隐藏第一个</p>

<p class="p2">隐藏第二个</p>

</body>

就会发现有图下的效果。

display与visibility的区别

很明显可以看出他们之间的变化。display:none,当它隐藏的时候,原本属于第一个元素的空间大小被第二个元素所占用了。