如何隐藏css元素

如何隐藏css元素?本篇文章就给大家介绍5种隐藏css元素的方法,让大家了解可以怎么隐藏css元素,以及使用这些方法隐藏元素时需要记住的细微差别。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

首先我们简单介绍一下隐藏css元素的5种方法,分别为:

1、使用opacity属性来隐藏元素

2、使用visibility属性来隐藏元素

3、使用display属性来隐藏元素

立即学习“前端免费学习笔记(深入)”;

4、使用position属性来隐藏元素

5、使用clip-path属性来隐藏元素

下面我们来详细介绍一下这5种隐藏css元素的方法,让大家了解它们之间的细微差别。

opacity属性

opacity属性是通过设置元素的透明度来隐藏元素的。它的设计不会以任何方式改变元素的边界框。这就意味着将不透明度设置为零只会在视觉上隐藏元素;元素仍然占据其位置并影响网页的布局,它还会响应用户交互。

.hide {  opacity: 0;}

如果你打算使用opacity属性来隐藏屏幕阅读器中的元素,很遗憾,这是不可能的。因为屏幕阅读器将读取元素及其所有内容,就像网页上的所有其他元素一样。

我还应该提一下,opacity属性被动画化,并用于创建一些出色的效果。例:

HTML代码:

1
2
3

css代码:

.o-hide {  opacity: 0;  transition: all ease 0.8s;}.o-hide:hover {  opacity: 1;}

效果图:

1.gif

当将鼠标悬停在隐藏的第二个块上时,该元素将从完全透明的状态平滑过渡到完全不透明。该模块还设置了cursor:pointer,以显示它可以与之交互。

visibility属性

visibility属性是通过设置是否可见,来隐藏元素的。当设置visibility属性的值为hidden将隐藏我们的元素。

visibility属性就和opacity属性一样,隐藏元素仍会影响我们网页的布局。唯一的区别是,这次当用户隐藏时,它不会捕获任何用户交互。此外,该元素也将对屏幕阅读器隐藏。

只要初始状态和最终状态具有不同的值,此属性也能够进行动画处理。这确保了可见性状态之间的过渡可以是平滑的而不是突然的。

这个演示展示了visibility区别于opacity的地方:

HTML代码:

1

2

3

css代码:

.o-hide {  visibility: hidden;  transition: all ease 0.8s;}.o-hide:hover {  visibility: visible;}.o-hide p {  visibility: visible;  margin: 0;  padding: 0;}

js代码:

var oHide = document.querySelector(".o-hide");var oHideP = document.querySelector(".o-hide p");var count = oHideP.innerHTML;oHide.addEventListener("click", function(){    count++;    oHideP.innerHTML = count;});

效果图:

2.gif

请注意,如果将属性显式设置为visibility,则设置visibility为hidden的元素的后代仍然可见。尝试将鼠标悬停在隐藏元素上而不是内部段落上,将看到光标不会变为指针。此外,如果你尝试单击该元素,则您的点击也不会被响应。

标签内的

标签仍然会捕获所有的鼠标事件。当你在文本上徘徊时,

本身就变得可见并开始响应事件。

display属性

display属性是真正意义上的隐藏了元素,设置display属性的值为none,可以确保根本不生成框模型;且使用此属性,隐藏元素时不会留下空白空间。不仅如此,只要display设置为none,任何直接用户交互都是不可能的。此外,屏幕阅读器也不会读取元素的内容。就好像元素不存在一样。

而,我们元素的所有后代也将被隐藏。此属性无法设置动画,因此各种状态之间的转换始终是突然的。

请注意,该元素仍可通过DOM访问。你可以像使用任何其他元素一样操纵它。例:

HTML代码:

Hover!

0

0

css代码:

.o-hide {  display: none;  transition: all ease 0.8s;}.o-hide:hover {  display: block;}.o-hide p {  display: block;  margin: 0;  padding: 0;}

js代码:

var count = 0;var oHide = document.querySelector(".o-hide");var firstDiv = document.querySelector("div:nth-child(1)");firstDiv.addEventListener("mouseover", function(){    count++;    oHide.innerHTML = '

' + count + '

';});firstDiv.addEventListener("click", function(){ oHide.style.display = "block";});

效果图:

3.gif

可以看到第二块有一个p段落,其display属性设置为block,但该段仍然是看不见的。这就是visibility:hidden和display: none的一个区别。在第一种情况下,任何明确设置visibility为visible的后代都将变为可见,但这不会发生display属性里。设置display: none后,所有的后代都被隐藏起来,不管他们的展示有多大价值。

现在,在演示的第一个块上悬停几次。做过徘徊?单击第一个块。这应该使第二个块可见。里面的计数现在应该是零以外的数字。这是因为即使对用户隐藏的元素仍然可以使用JavaScript进行操作

position属性

假设你有一个要与之交互的元素,但又不希望它影响网页布局。到目前为止,没有任何属性可以正确处理这种情况。在这种情况下,你可以做的一件事,那就是将元素移出视图窗口。这样它不会影响布局,仍然可以操作。

以下演示说明绝对定位如何隐藏元素和工作方式与上一个演示大致相同(html代码一样):

css代码:

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

js代码:

var count = 0;var oHide = document.querySelector(".o-hide");var firstDiv = document.querySelector("div:nth-child(1)");firstDiv.addEventListener("mouseover", function(){    count++;    oHide.innerHTML = count;});firstDiv.addEventListener("click", function(){    oHide.style.position = "static";});

效果图:

4.gif

这里的主要思想是将负的顶部和左侧值设置得足够高,以使元素在屏幕上不再可见。该技术的一个好处(或潜在的缺点)是屏幕阅读器可以读取绝对定位元素的内容。这是完全可以理解的,因为你只将元素移出视图窗口,以便用户无法看到它。

你应该避免使用此方法隐藏任何可以获得焦点的元素,因为当用户关注该元素时会导致意外跳转。此方法经常用于创建自定义复选框或单选按钮。

clip-path属性

隐藏元素的另一种方法是剪切它们。以前,这可以通过clip属性来完成,但是已经弃用了有利于更好的属性clip-path。

请注意,IE或Edge尚未完全支持下面clip-path属性值的使用。这是一个展示它的示例演示:

css代码:

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

js代码:

var count = 0;var oHide = document.querySelector(".o-hide");var firstDiv = document.querySelector("div:nth-child(1)");firstDiv.addEventListener("mouseover", function(){    count++;    oHide.innerHTML = count;});firstDiv.addEventListener("click", function(){    oHide.className = "";});

效果图:

5.gif

如果将鼠标悬停在第一个元素上,它仍然可以影响第二个元素,即使它被clip-path属性隐藏。如果单击该元素,它将删除隐藏的类以显示我们一直存在的元素。这个文本仍然可以被屏幕阅读器阅读。

即使我们的元素不再可见,它周围的元素仍然表现得像它原来的矩形尺寸。请记住,在悬停区域之外,像悬停或点击等用户交互是不可能的。在我们的例子中,这意味着用户将无法直接与隐藏元素交互。此外,该属性能够以各种方式被动画化以产生新的效果。

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。

以上就是如何隐藏css元素的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1613396.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 03:35:10
下一篇 2025年12月24日 03:35:28

相关推荐

  • css文字颜色渐变的三种实现方式(附代码)

    本篇文章给大家带来的内容是关于css文字颜色渐变的三种实现方式(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 在web前端开发过程中,UI设计师经常会设计一些带渐变文字的设计图,在以前我们只能用png的图片来代替文字,今天可以实现使用纯CSS实现渐变文字了。下面就介绍3中…

    好文分享 2025年12月24日
    000
  • CSS是什么

    CSS是Cascading Style Sheets的缩写,中文翻译也就是层叠样式表;CSS(层叠样式表)起着控制HTML语句样式的作用,如可以改变字符的大小、背景的颜色、图像的排列等。 本文操作环境:Windows7系统、Dell G3电脑、css3版。 CSS是什么意思? 使用HTML创建的页面…

    2025年12月24日
    000
  • CSS实现三角形标记的方法介绍

    本篇文章将给大家分享关于css实现三角形标记的方法,内容很详细,有需要的朋友参考一下。 话不多说,我们先来直接看代码~ 代码如下: CssMark.html CssMark.css 立即学习“前端免费学习笔记(深入)”; .TriMarkPre0 { position: static; width:…

    2025年12月24日
    000
  • 纯CSS实现表头固定的代码示例

    本篇文章给大家带来的内容是关于纯css实现表头固定的代码示例,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 纯CSS实现表头固定之所以难,主要在两点。一是占有最大市场份额的IE6不支持position:fixed。另一个,是人们想破头都想在一起表格中实现这种效果。 我们知道,CSS…

    2025年12月24日
    000
  • CSS实现柱形图效果的代码示例

    本篇文章给大家带来的内容是关于css实现柱形图效果的代码示例,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 CSS在处理排版之强大,没有做不到,只有想不到。下面我们将一同实现一个柱状图。 先打好一个具体的框架。我们利用无序列表做整体,里面的东西我们根本选择内联无素span,stro…

    2025年12月24日 好文分享
    000
  • CSS多级菜单的实例代码讲解

    本篇文章给大家带来的内容是关于css多级菜单的实例代码讲解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 这是一个相当炫的功能,让网页看起来像桌面程序,如window的开始菜单。实现原理基本和纯CSS相册差不多,但要注意的事项比较多,让我们一步步来吧。 先来一个非常简单的一级菜单与…

    好文分享 2025年12月24日
    000
  • CSS如何实现未知高度图像的垂直居中(附代码)

    本篇文章给大家带来的内容是关于css如何实现未知高度图像的垂直居中(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 CSS垂直居中 .container{ width:500px;/*装饰*/ height:500px; background:#B9D6FF; border…

    2025年12月24日
    000
  • css实现文本两端对齐的代码实例讲解

    本篇文章给大家带来的内容是关于css实现文本两端对齐的代码实例讲解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 在做表单时我们经常遇到让上下两个字段对齐的情况,比如姓名, 手机号码, 出生地。这样我们就要用到 text-align, text-justify样式了。 text-a…

    好文分享 2025年12月24日
    000
  • 多行文本进行截断的奇淫巧技

    本篇文章给大家带来的内容是关于多行文本进行截断的奇淫巧技,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 单行文字的截断非常简单,但是多行文字的截断可谓是非常头疼,刚学css时候就为了这个写了很多乱七八糟的代码,今天工作又遇到了这个需求…比较巧的是某公众号今天正好也推送了…

    2025年12月24日 好文分享
    000
  • CSS 、JS实现浪漫流星雨动画

    本篇文章给大家带来的内容是关于css 、js实现浪漫流星雨动画,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。效果如下: HTML 由于节点很多,并且我想尽量做得逼真有趣有点,还给节点加了随机位置。所以节点的输出都是用JS控制的,HTML这边只写了几个父元素盒子,加上相应的ID名和类…

    2025年12月24日
    000
  • 盒模型与BFC的深入讲解

    本篇文章给大家分享的内容是关于盒模型以及BFC,有需要的朋友可以参考一下,希望可以帮助到有需要的朋友 标准盒模型与IE盒模型 开发者们都知道,由于历史遗留问题与既定标准的发展,存在着两个css盒模型。即W3C的标准盒模型以及IE的怪异盒模型。在css中,可以用box-sizing去定义元素的盒模型。…

    2025年12月24日 好文分享
    000
  • css中定位的简单介绍(代码示例)

    本篇文章给大家带来的内容是关于css中定位的简单介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、相对定位 position: relative 相对默认的布局位置进行定位,也就是相对自己应该在的位置来定位。 .avatar { top: 3px; //从上到下偏…

    2025年12月24日 好文分享
    000
  • CSS+JS如何实现浪漫流星雨动画效果?(代码示例)

    本篇文章给大家带来的内容是介绍css+js如何实现浪漫流星雨动画效果?(代码示例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 首先我们来看看效果图: 下面我们来看看如何实现: HTML代码: CSS代码: 立即学习“前端免费学习笔记(深入)”; /* – – – – – – …

    2025年12月24日
    000
  • CSS修改placeholder样式的方法介绍(代码示例)

    本篇文章给大家带来的内容是css修改placeholder样式的方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 项目用经常遇到修改input的placeholder的颜色的需求,这里来看一下placeholder如何用css设置: 首先来看一下chrome默认的input…

    2025年12月24日 好文分享
    000
  • 纯CSS如何实现表头固定?表头固定的实现

    本篇文章给大家带来的内容是介绍纯css如何实现表头固定?表头固定的实现。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 纯CSS实现表头固定之所以难,主要在两点: 1、占有最大市场份额的IE6不支持position:fixed。 2、人们想破头都想在一起表格中实现这种效果。 不过外…

    好文分享 2025年12月24日
    000
  • 纯CSS如何实现柱形图效果?(代码示例)

    本篇文章给大家带来的内容是介绍如何用纯css实现柱形图效果?(代码示例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 我们都知道,CSS在处理排版之强大,没有做不到,只有想不到。下面我们将一同实现一个柱状图。 先打好一个具体的框架。我们利用无序列表做整体,里面的东西我们根本选择…

    2025年12月24日 好文分享
    000
  • CSS如何绘制一只萌萌哒的大熊猫?(代码示例)

    本篇文章给大家带来的内容是介绍css绘制一只萌萌哒的大熊猫的方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 黑眼圈的大熊猫可谓非常可爱,今天就用CSS实现以下萌萌哒的大熊猫一枚(效果如下): 代码在这儿:https://codepen.io/woshilyy/p……

    2025年12月24日
    000
  • CSS3如何实现聊天气泡效果?(代码示例)

    本篇文章给大家带来的内容是介绍css3巧妙实现聊天气泡效果的方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 前一阵子敢玩的 Mobile 页改版完成了,就之前的页面风格更加扁平化,从暗色系为主背景转到亮色背景,去掉更多的阴影,给用户简约的体验风格,哈哈我不是设计师不过多评价啦…

    2025年12月24日 好文分享
    000
  • ::before有什么作用?::before与:before的区别是什么?

    ::before是什么?有什么作用?本篇文章就给大家::before有什么用,让大家了解::before的简单使用,以及::before与:before的异同点。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 一、::before是什么?有什么作用? 在css中,::before …

    2025年12月24日
    000
  • CSS打印时更改屏幕设计和样式(代码示例)

    本篇文章我们将介绍在打印过程中使用css更改屏幕设计和样式的代码,要在印刷时改变样式,可以在文件中进行样式表的链接的link标签指定media属性,或者在css文件中使用媒体查询。 使用链接标记指定媒体属性时 代码 这是使用链接标记指定media属性的代码。 index.html 立即学习“前端免费…

    2025年12月24日
    200

发表回复

登录后才能评论
关注微信