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

这篇具有很好参考价值的文章主要介绍了css中有哪些方式可以隐藏页面元素?区别?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

面试官:css中,有哪些方式可以隐藏页面元素?区别?

css中有哪些方式可以隐藏页面元素?区别?,CSS,面试系列,css,前端

一、前言

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

通过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: none visibility: hiddenopacity: 0的区别,如下表所示:文章来源地址https://www.toymoban.com/news/detail-816432.html

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

参考文献

  • https://www.cnblogs.com/a-cat/p/9039962.html
  • https://whyta.cn/post/68e3c6d73396/

到了这里,关于css中有哪些方式可以隐藏页面元素?区别?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • css3中有哪些伪类?

    CSS3中有很多伪类,以下是一些常见的伪类: :hover:用于选择鼠标悬停在元素上的状态。 :active:用于选择被用户激活(点击)的元素。 :focus:用于选择当前拥有焦点的元素(例如输入框)。 :first-child:用于选择父元素的第一个子元素。 :last-child:用于选择父元素的最后一个

    2024年04月22日
    浏览(31)
  • HTML中有哪些属于表单元素?那些属于表格元素?请分别列举5个并说明用途?

    在HTML中,有一些元素是专门用于表单的输入和布局,还有一些元素是专门用于表格的显示。以下是五个表单元素和五个表格元素,以及它们的用途: 表单元素: input :这是最常用的表单元素,用于获取用户输入的数据。可以通过不同的\\\"type\\\"属性值(如\\\"text\\\", \\\"password\\\", \\\"submit

    2024年01月22日
    浏览(33)
  • 小程序(uniapp)页面的跳转方式有哪些,他们之间的区别是什么?

    1、uni.navigateTo: 保留当前页面,跳转到应用的某个页面,使用 uni.navigateBack 可以返回原页面。这种方式类似于网页的超链接跳转。 2、uni.redirectTo: 关闭当前页面,跳转大应用内的某个页面。这种方式类似于网页的重定向。 3、uni.switchTab: 跳转到tabBar页面,并关闭其他所有非ta

    2024年02月11日
    浏览(26)
  • css基础知识十九:让Chrome支持小于12px 的文字方式有哪些?区别?

    一、背景 Chrome 中文版浏览器会默认设定页面的最小字号是12px,英文版没有限制 原由 Chrome 团队认为汉字小于12px就会增加识别难度 中文版浏览器 与网页语言无关,取决于用户在Chrome的设置里(chrome://settings/languages)把哪种语言设置为默认显示语言 系统级最小字号 浏览器默

    2024年02月15日
    浏览(24)
  • java中有哪些流?各自的区别是什么?

    java中的流可以按操作类型划分为: 字节流和字符流 字节流 操作的类型是字节,可以操作计算机中任何类型的数据 字符流 操作单位是字符,只能操作文字 还可以按照流向进行划分:分 为输入流和输出流 输入流 指的是将文件中的数据读取到程序中(向程序中读入数据) 输

    2024年02月05日
    浏览(35)
  • CSS 中有五种常见的定位方式--详解

    1. 静态定位(Static):元素的默认定位方式。在静态定位下,元素根据正常文档流进行布局,并不受到 top、left、bottom、right 等属性的影响。 HTML: CSS:   2. 相对定位(Relative):通过设置元素的位置属性(如 top、left、bottom、right)来相对于其在正常文档流中的位置进行定位。

    2024年02月11日
    浏览(21)
  • 【CSS】元素显示与隐藏 ( display 隐藏对象 | visibility 隐藏对象 | overflow 隐藏对象 )

    在开发中 , 经常需要使用到 元素的显示 与 隐藏 , 默认状态下 , 按钮下面没有任何内容 ; 将鼠标移动到 红色按钮 后 , 显示一个对话框布局 ; 控制 元素的 显示 与 隐藏 的样式有如下三种 : display visibility overflow 为标签元素设置 可以 隐藏该元素 ; 如果想要 显示该对象 , 为该元

    2023年04月14日
    浏览(35)
  • 前端如何实现隐藏滚动条,并且页面还可以滚动

    在前端中,可以通过 CSS 和一些简单的样式调整来实现隐藏滚动条,同时保持页面可滚动。这通常涉及到在容器内部创建滚动区域,并隐藏默认的滚动条样式。 下面是实现这一效果的基本步骤: 创建一个滚动容器元素,使其包裹需要滚动的内容。 通过 CSS 隐藏默认的滚动条样

    2024年02月02日
    浏览(40)
  • 【CSS】鼠标移动到元素上方显示 / 移出盒子范围隐藏案例 ( 子绝父相 | 显示隐藏元素对象 | 鼠标经过样式设置 | 半透明遮罩设置 )

    这里要 在一个 div 盒子上方套一层遮罩 , 遮罩就需要 使用绝对定位将其覆盖到其它元素中 ; 子元素使用了 绝对定位 , 父元素必须使用 相对定位 ; 使用 样式 隐藏元素 , 使用 样式 显示元素 ; 鼠标经过 链接 时 , 显示 链接 中的 one 元素 , 需要使用如下选择器 进行设置 ; 使用

    2024年02月10日
    浏览(37)
  • jQuery控制元素的显示与隐藏(三种方式对比)

    hide:是$(“.类名”)或$(“#标签名”)或$(“标签名”).hide() show:是$(“.类名”)或$(“#标签名”)或$(“标签名”).show() 元素直接消失,没有任何动态效果 通过控制元素的高度来显示与隐藏,因此会有动画效果。slideToggle如果你操作的与元素是隐藏的,那么那就会显示,如果是显示

    2024年02月05日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包