前言:在日常的开发过程中,我们可能会需要动态的显示或隐藏DOM元素,这就需要结合实际开发需求来选择合适的方式实现功能需求。接下来,简单介绍一下DOM属性display和visiblity之间的区别,方便选择适合的方式。
属性 | display | visiblity |
显示 | visible | |
不显示 | none | hidden |
DOM结构 | 不会渲染该元素在页面中,也根本不会占据位置 | 会渲染该元素在页面中,但是被隐藏,也就是说依旧占据位置 |
性能 | 通过js无法获取到该元素身上的一些属性,并且通过动态的改变的display属性,会让页面反复渲染,引起页面重排,性能较差 | 动态的改变的visibility属性,不会让页面反复渲染该元素,发生的是重绘,性能较好 |