css中有哪些方式可以隐藏页面元素及区别


Posted in HTML / CSS onJune 16, 2022

前言

在平常的样式排版中,我们经常遇到将某个模块隐藏的场景

通过css隐藏元素的方法有很多种,它们看起来实现的效果是一致的

但实际上每一种方法都有一丝轻微的不同,这些不同决定了在一些特定场合下使用哪一种方法

实现方式

通过css实现隐藏元素方法有如下:

  • display:none
  • visibility:hidden
  • opacity:0
  • 设置height、width模型属性为0
  • position:absolute
  • clip-path

display:none

设置元素的displaynone是最常用的隐藏元素的方法

.hide {
        display:none;
    }

将元素设置为display:none后,元素在页面上将彻底消失

元素本身占有的空间就会被其他元素占有,也就是说它会导致浏览器的重排和重绘

消失后,自身绑定的事件不会触发,也不会有过渡效果

特点:元素不可见,不占据空间,无法响应点击事件

visibility:hidden

设置元素的visibilityhidden也是一种常用的隐藏元素的方法

从页面上仅仅是隐藏该元素,DOM结果均会存在,只是当时在一个不可见的状态,不会触发重排,但是会触发重绘

.hidden{
        visibility:hidden
     }

给人的效果是隐藏了,所以他自身的事件不会触发

特点:元素不可见,占据页面空间,无法响应点击事件

opacity:0

opacity属性表示元素的透明度,将元素的透明度设置为0后,在我们用户眼中,元素也是隐藏的

不会引发重排,一般情况下也会引发重绘

如果利用 animation 动画,对 opacity 做变化(animation会默认触发GPU加速),则只会触发 GPU 层面的 composite,不会触发重绘

.transparent {
        opacity:0;
    }

由于其仍然是存在于页面上的,所以他自身的的事件仍然是可以触发的,但被他遮挡的元素是不能触发其事件的

需要注意的是:其子元素不能设置opacity来达到显示的效果

特点:改变元素透明度,元素不可见,占据页面空间,可以响应点击事件

设置height、width属性为0

将元素的marginborderpaddingheightwidth等影响元素盒模型的属性设置成0,如果元素内有子元素或内容,还应该设置其overflow:hidden来隐藏其子元素

.hiddenBox {
        margin:0;     
        border:0;
        padding:0;
        height:0;
        width:0;
        overflow:hidden;
    }

特点:元素不可见,不占据页面空间,无法响应点击事件

position:absolute

将元素移出可视区域

.hide {
       position: absolute;
       top: -9999px;
       left: -9999px;
    }

特点:元素不可见,不影响页面布局

clip-path

通过裁剪的形式

.hide {
      clip-path: polygon(0px 0px,0px 0px,0px 0px,0px 0px);
    }

特点:元素不可见,占据页面空间,无法响应点击事件

小结

最常用的还是display:nonevisibility:hidden,其他的方式只能认为是奇招,它们的真正用途并不是用于隐藏元素,所以并不推荐使用它们

区别

关于display: nonevisibility: hiddenopacity: 0的区别,如下表所示:

  display: none visibility: hidden opacity: 0
页面中 不存在 存在 存在
重排 不会 不会
重绘 不一定
自身绑定事件 不触发 不触发 可触发
transition 不支持 支持 支持
子元素可复原 不能 不能
被遮挡的元素可触发事件 不能

到此这篇关于css中有哪些方式可以隐藏页面元素及区别的文章就介绍到这了,更多相关css隐藏页面元素内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

 
HTML / CSS 相关文章推荐
css3中用animation的steps属性制作帧动画
Apr 25 HTML / CSS
CSS3属性选择符介绍
Oct 17 HTML / CSS
纯css3实现走马灯效果
Dec 26 HTML / CSS
IE8下CSS3选择器nth-child() 不兼容问题的解决方法
Nov 16 HTML / CSS
css3利用transform变形结合事件完成扇形导航
Oct 26 HTML / CSS
关于HTML5的22个初级技巧(图文教程)
Jun 21 HTML / CSS
html5 input属性使用示例
Jun 28 HTML / CSS
使用jTopo给Html5 Canva中绘制的元素添加鼠标事件
May 15 HTML / CSS
html5中 media(播放器)的api使用指南
Dec 26 HTML / CSS
深入理解HTML的FormData对象
May 17 HTML / CSS
详解HTML5.2版本带来的修改
May 06 HTML / CSS
HTML 里 img 元素的 src 和 srcset 属性的区别详解
May 21 HTML / CSS
CSS控制继承中的height能变为可继承吗
Jun 10 #HTML / CSS
css样式important规则的正确使用方式
Jun 10 #HTML / CSS
分享几个实用的CSS代码块
Jun 10 #HTML / CSS
html中两种获取标签内的值的方法
Jun 10 #HTML / CSS
html5+实现plus.io进行拍照和图片等获取
Jun 01 #HTML / CSS
基于CSS制作创意端午节专属加载特效
聊聊CSS粘性定位sticky案例解析
Jun 01 #HTML / CSS
You might like
php中处理模拟rewrite 效果
2006/12/09 PHP
php PDO中文乱码解决办法
2009/07/20 PHP
php对数组排序的简单实例
2013/12/25 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
2017/09/22 PHP
cloudgamer出品ImageZoom 图片放大效果
2010/04/01 Javascript
与jquery serializeArray()一起使用的函数,主要来方便提交表单
2011/01/31 Javascript
Jquery Change与bind事件代码
2011/09/29 Javascript
jQuery实现类似滑动门切换效果的层切换
2013/09/23 Javascript
通过url查找a元素并点击
2014/04/09 Javascript
node.js中watch机制详解
2014/11/17 Javascript
JavaScript DOM进阶方法
2015/04/13 Javascript
jQuery常用知识点总结以及平时封装常用函数
2016/02/23 Javascript
Bootstrap 附加导航(Affix)插件实例详解
2016/06/01 Javascript
jQuery UI结合Ajax创建可定制的Web界面
2016/06/22 Javascript
文本框只能输入数字的js代码(含小数点)
2016/07/10 Javascript
Bootstrap Table从服务器加载数据进行显示的实现方法
2016/09/29 Javascript
详解js数组的完全随机排列算法
2016/12/16 Javascript
详解VueJS 数据驱动和依赖追踪分析
2017/07/26 Javascript
史上最全JavaScript常用的简写技巧(推荐)
2017/08/17 Javascript
使用watch监听路由变化和watch监听对象的实例
2018/02/24 Javascript
vue中$set的使用(结合在实际应用中遇到的坑)
2018/07/10 Javascript
javascript中的this作用域详解
2019/07/15 Javascript
Vue之Mixins(混入)的使用方法
2019/09/24 Javascript
Python编程中使用Pillow来处理图像的基础教程
2015/11/20 Python
python中闭包Closure函数作为返回值的方法示例
2017/12/17 Python
详解用TensorFlow实现逻辑回归算法
2018/05/02 Python
Python判断中文字符串是否相等的实例
2018/07/06 Python
Python编程快速上手——疯狂填词程序实现方法分析
2020/02/29 Python
Python 从attribute到property详解
2020/03/05 Python
django 读取图片到页面实例
2020/03/27 Python
如果Session Bean得Remove方法一直都不被调用会怎么样
2012/07/14 面试题
全国税务系统先进集体事迹材料
2014/05/19 职场文书
干部对照检查材料范文
2014/08/26 职场文书
民主评议党员登记表自我评价
2014/10/20 职场文书
工程主管竞聘书
2015/09/15 职场文书
mysql字段为NULL索引是否会失效实例详解
2022/05/30 MySQL