二者都是隐藏HTML元素,在视觉效果上没有区别,但在一些DOM操作中二者还是有所不同的。 display:none; 使用该属性后,HTML元素(对象)的宽度、高度等各种属性值都将“丢失”; visibility:hidden; 使用该属性后,HTML元素(对象)仅仅是在视觉上看不见(完全透明),而它所占据的空间位置仍然存在,也即是说它仍具有高度、宽度等属性值。