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"后: