两者都能把网页上某个元素隐藏起来,在视觉效果上没有区别,但在一些DOM操做中两者仍是有所不一样的。it
display:nonedi
使用该属性后,元素的宽度、高度等各类属性值都将“丢失”。(元素完全消失,通俗来讲就是看不见也摸不到。)vi
visibility:hiddendisplay
使用该属性后,仅仅是在视觉上看不见(彻底透明),而元素所占据的空间位置仍然存在,也便是说它仍具备高度、宽度等属性值。(元素在网页上所占的空间没有改变,看不见但摸获得。)play
:)