display:none
表示该元素未呈现为DOM的一部分,因此直到display属性更改为其他内容时才加载该元素。
visibility:hidden
加载元素,但不显示它。
为什么jQuery为什么要使用display:none
它的show / hide函数而不是在visibility:hidden
和之间切换visibility:visible
?
Answers:
因为在中display:none
,该元素出于所有目的不再存在-它不占用任何空间。但是,在中visibility:hidden
,就好像您刚刚添加opacity:0
到元素中一样-它占据相同的空间,但是只是不可见。
jQuery的创建者可能认为前者会更适合.hide()
。
visibility: hidden
使元素不可见,但不会将其从页面布局中删除。它在元素所在的位置留下一个空框。display: none
将其从布局中删除,使其不占用页面上的任何空间,这通常是人们在隐藏某些内容时想要的。
可见性:隐藏使元素不可见,从而仍在页面上使用空间。Display:none使元素没有空间并完全消失,而它仍然存在于DOM中。