display:none視為不存在且不載入,即,不為被隱藏的對象保留其物理空間,即該對象在頁面上徹底消失。
visibility:hidden隱藏,但在瀏覽時保留位置,即,使對象在網頁上不可見,但該對象在網頁上所佔的空間沒有改變。
使用 display:none屬性後,HTML元素(對象)的寬度、高度等各種屬性值都將“丟失”;
而使用visibility:hidden屬性後,HTML元素(對象)僅僅是在視覺上看不見(完全透明),而它所佔據的空間位置仍然存在。也即是說它仍具有高度、寬度等屬性值。
代碼示範:
表格初始狀態:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title></title></head><body> <table id="table1" style="border: 2px dashed red;background-color: #e2e2e2;padding: 5px"> <tr> <td>A1 </td> <td>A2 </td> </tr> <tr> <td>B1 </td> <td>B2 </td> </tr> </table></body></html>
效果如下:
在表格第二行的 tr 加上 style="display:none"後:
在表格第二行的 tr 加上 style="visibility:hidden"後:
display:none和visible:hidden都能把網頁上某個元素隱藏起來,但兩者有區別:
display:none ---不為被隱藏的對象保留其物理空間,即該對象在頁面上徹底消失,通俗來說就是看不見也摸不到。
visible:hidden--- 使對象在網頁上不可見,但該對象在網頁上所佔的空間沒有改變,通俗來說就是看不見但摸得到。
例子:
<html><head><title>display:none和visible:hidden的區別</title></head><body ><span style="display:none; background-color:Blue">隱藏地區</span><span style=" background-color:Green">顯示地區</span><br /><span style="visibility:hidden; background-color:Blue">隱藏地區</span><span style="background-color:Green">顯示地區</span></body></html>