为什么jQuery显示/隐藏使用display:none而不是visibility:hidden?

isa*_*yno 71 javascript jquery visibility

display:none 表示元素不会呈现为DOM的一部分,因此在display属性更改为其他内容之前不会加载它.

visibility:hidden 加载元素,但不显示它.

为什么jQuery的使用display:none它的显示/隐藏功能,而不是切换visibility:hiddenvisibility:visible

Sal*_*lty 65

因为在display:none所有目的中,元素不再存在 - 它不占据任何空间.但是,visibility:hidden就像你刚刚添加opacity:0到元素一样 - 它占用相同数量的空间但只是不可见的行为.

jQuery创建者可能认为前者更适合.hide().


Joh*_*ica 18

visibility: hidden使元素不可见,但不会将其从页面布局中删除.它留下了一个空框,其中元素是.display: none将其从布局中删除,因此它不会占用页面上的任何空间,这通常是人们在隐藏某些内容时所需的空间.


小智 10

可见性:隐藏使元素不可见,它仍然在页面上使用空间.显示:none使元素没有空间并完全消失,而它仍然存在于DOM中.


Sep*_*eph 6

可见性只会使元素不可见,但它仍会占用屏幕上的空间.