display:none与visibility:hidden的区别
display:none 视为不存在且不加载,即,不为被隐藏的对象保留其物理空间,即该对象在页面上彻底消失。
visibility:hidden 隐藏,但在浏览时保留位置,即,使对象在网页上不可见,但该对象在网页上所占的空间没有改变。
使用 display:none属性后,HTML元素(对象)的宽度、高度等各种属性值都将“丢失”;
而使用visibility:hidden属性后,HTML元素(对象)仅仅是在视觉上看不见(完全透明),而它所占据的空间位置仍然存在。也即是说它仍具有高度、宽度等属性值。
例子:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> #tb{ border: 2px dashed red; background-color: #e2e2e2; padding: 5px } </style> </head> <body> <table id="tb" > <tr> <td>第1 </td> <td>第2 </td> </tr> <tr> <td>第1 </td> <td>第2 </td> </tr> </table> </body> </html>
在表格第二行的 tr 加上 style="display:none"后:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> #tb{ border: 2px dashed red; background-color: #e2e2e2; padding: 5px } tr:nth-child(2){ /*选择属于其父元素的第二个子元素的每个tr里的元素。*/ display:none; } </style> </head> <body> <table id="tb" > <tr> <td>第1 </td> <td>第2 </td> </tr> <tr> <td>第1 </td> <td>第2 </td> </tr> </table> </body> </html>
上面的位置没有保留:
在表格第二行的 tr 加上 style="visibility:hidden"后:
本站声明:网站内容来源于网络,如有侵权,请联系我们https://www.qiquanji.com,我们将及时处理。
微信扫码关注
更新实时通知