CSS隐藏元素
1. CSS隐藏方法
- display:none
- visibility:hidden
- opacity:0
- 设置height、width模型属性为0
- position:absolute
- clip-path
2. display:none
最为常用的方法 .hide{ display:none }
元素会彻底消失,本身空间会被其他元素占有,导致重排和重绘。
消失后,绑定的事件不会触发,也不会有过渡效果。
特点:元素不可见,不占据空间,无法响应点击事件。
3. visibility:hidden
也是常见的隐藏元素的方法
仅仅隐藏,DOM依然存在,处于不可见的状态。
不会触发重排,但是会触发重绘。
特点:元素不可见,占据页面空间,无法响应点击事件。
4. opacity:0
opacity表示元素的透明度,设置为0后,元素为隐藏状态。
不会引发重排,一般情况下也会引发重绘。
自身事件会触发,但被其遮挡的元素无法触发事件。
子元素无法设置opacity来达到显示的效果。
特点:改变元素透明度,元素不可见,占据页面空间,可以响应点击事件。
5. height,width属性为0
.hiddenBox{margin:0;border:0;padding:0;height:0;width:0;overflow:hidden}
特点:元素不可见,不占据页面空间,无法响应点击事件
6. postion:absolute
将元素移除可视区域
.hidden{position: absolute;top:-9999px;left:-9999px}
特点:元素不可见,不影响页面布局
7. clip-path
通过裁剪的形式
.hide{clip-path: polygon(0px 0px,0px 0px,0px 0px,0px 0px)}
特点:元素不可见,占据页面空间,无法响应点击事件
8. 小结
最常用的还是display:none,visubility:hidden