visibility
属性只告诉浏览器是否显示元素.它要么是可见的(visible
-你能看到),要么是不可见的(hidden
-你看不见).
属性告诉浏览器绘制并显示一个元素,如果有的话-它是否应该被显示为inline
个元素(即,它与文本和其他内联元素一起流动)、block
级元素(即,它具有可以设置的高度和宽度属性、它是可浮动的等)、或者inline-block
(即,它充当挡路框,但改为被内联放置)和一些其他元素(list-item
、table
、table-row
、table-cell
、flex
等).(=
当您将某个元素设置为display: block
时,但当您将其设置为also时,浏览器仍然会将其视为挡路元素,除非您只是看不到它.有点像你把一个红色的盒子堆在一个看不见的盒子上面:红色的盒子看起来像是漂浮在半空中,而实际上它坐在一个你看不见的物理盒子的上面.
换句话说,这意味着包含display
而不是none
的元素仍然会影响页面中的元素流,无论它们是否可见.包含display: none
的元素周围的框将表现为该元素从未存在过(尽管它保留在DOM中).