visibility和display這兩個屬性很容易被混淆,比如它們看起來是幹一樣的事情,就是将讓我們看不見元素。
display通常可以設定為:none,inline,block
visibility通常可以設定為:hidden,visible
display:none;
visibility:hidden;
這兩條樣式都能使得元素隐藏。但是,display會将元素掉,并且位置不再占用。而visibility則是占據原來的位置。
如下:
(1)沒有設定
<html>
<head>
<style type="text/css">
</style>
</head>
<body>
<p>這個段落沒有指定外邊距。</p>
<p class="margin">這個段落帶有指定的外邊距。</p>
<p>這個段落沒有指定外邊距。</p>
</body>
</html>
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0NXYFhGd192UvwVe0lmdhJ3ZvwFM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2Lc1TP3hFasdUZsxWbiZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39zN0AjMyETN5ADMxkDM3EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
(2)display:none
<html>
<head>
<style type="text/css">
p.margin{display:none}
</style>
</head>
<body>
<p>這個段落沒有指定外邊距。</p>
<p class="margin">這個段落帶有指定的外邊距。</p>
<p>這個段落沒有指定外邊距。</p>
</body>
</html>
(3)visibility:hidden
<html>
<head>
<style type="text/css">
p.margin{visibility:hidden}
</style>
</head>
<body>
<p>這個段落沒有指定外邊距。</p>
<p class="margin">這個段落帶有指定的外邊距。</p>
<p>這個段落沒有指定外邊距。</p>
</body>
</html>