前言
开发过程中我们经常会对一个元素进行显示和隐藏的操作。那么我们都有哪些方式可以来隐藏页面上的一个元素呢?它们分别有什么不一样的地方?本文我们就一起来探讨一下。
隐藏的几种方式
display:none
.box {
display: none;
}
- 读屏软件不会阅读元素中的内容
- 元素将从页面中消失,元素不可见甚至连盒子模型也不会生成,不会占用页面任何空间
- 元素上所有的事件将无法被正常触发
- 子孙元素同时被隐藏
- 该状态下为元素添加其他过渡效果都是无效的,因为切换状态的时候都是立即生效
visilibity:hidden
.box {
visibility: hidden;
}
- 读屏软件不会阅读元素中的内容
- 元素不会显示,但是依然占据原本该有的空间位置,元素上的点击事件不能被触发
visibility
属性可继承,子元素可以通过设置visibility:visible
来实现可见- 如果子元素为
visible
,那么子元素的点击事件可被触发,此时visibility
为hidden
的父级元素的事件会在事件冒泡阶段被触发
opacity:0
.box {
opacity: 0;
}
- 读屏软件会阅读元素中的内容
- 元素依旧存在页面上,并且会占用页面空间位置
- 元素上绑定的事件可以被正常触发;
opacity
可被继承,子元素可以通过设置opacity:1
来实现可见
position:relative
.box {
position:relative;
left: -10000px;
top: -10000px;
}
- 读屏软件会阅读元素中的内容
- 元素依然存在页面上,会影响页面的布局
- 绑定事件可被正常触发
position
属性可被继承(position: inherit
),子元素可以通过设置relative
、position
、fixed
、inherit
配合top
、bottom
、right
、left
值重新进行定位。
position:absolute
.box {
position: absolute;
top: -9000px;
left: -9000px;
}
- 读屏软件会阅读元素中的内容
- 元素依然存在页面上,不会影响页面的布局
- 绑定事件可被正常触发
position
属性可被继承(position: inherit
),子元素可以通过设置relative
、position
、fixed
、inherit
配合top
、bottom
、right
、left
值重新进行定位。
总结
-
以上总结了页面总隐藏元素的几种方式以及它们各自的区别。
-
平时的开发过程中我们可以按需使用这几种方式控制元素的隐藏与显示。
-
本期就先聊到这,
-
感谢你的阅读,
-
bye~
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!