dispaly:none 设置该属性后,该元素下的元素都会隐藏,占据的空间消失。visibility:hidden 设置该属性后,元素虽然不可见,但是依然占据空间的位置。
区别:
1.visibility具有继承性,其子元素也会继承此属性,若设置visibility:visible,则子元素会显示,
2.visibility不会影响计数器的计算,虽然隐藏掉了,但是计数器依然继续运行着。
3.在css3的transition中支持visibility属性,但是不支持display,因为transition可以延迟执行,因此配合visibility使用纯css实现hover延时显示效果可以提高用户体验
4. display:none会引起回流(重排)和重绘 visibility:hidden会引起重绘