Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >CSS隐藏元素的方法

CSS隐藏元素的方法

作者头像
WindRunnerMax
发布于 2020-08-27 02:56:17
发布于 2020-08-27 02:56:17
2.7K10
代码可运行
举报
文章被收录于专栏:Czy‘s BlogCzy‘s Blog
运行总次数:0
代码可运行

CSS隐藏元素的方法

使用CSS隐藏元素的主要方式有diaplay: none;opacity: 0;visibility: hidden;position: absolute; overflow: hidden;clip-path: polygon(0 0, 0 0, 0 0, 0 0);height: 0; overflow: hidden;

diaplay

display: none;属性依照词义是真正隐藏元素,使用这个属性,被隐藏的元素不占据任何空间,用户交互操作例如点击事件都不会生效,读屏软件也不会读到元素的内容,这个元素的任何子元素也会同时被隐藏。当使用该属性将元素从显示状态切换为隐藏状态时,元素不占据原本的空间,会触发浏览器的重绘与回流。为这个属性添加过渡动画是无效的,他的任何不同状态值之间的切换总是会立即生效。这种方式产生的效果就像元素完全不存在,但在DOM中依然可以访问到这个元素,也可以通过DOM来操作它。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<style type="text/css">
    .display-hide{
        display: none;
    }
</style>

<section>
    <div id="t1"></div>
</section>

<script type="text/javascript">
    document.getElementById("t1").addEventListener("click", e => {
        alert("第一次点击会隐藏,此后再也无法点击");
        e.srcElement.classList.add("display-hide");
    })
</script>

opacity

opacity是用以设置透明度的属性,将opacity设置为0只能从视觉上隐藏元素,而元素本身依然占据它自己的位置并对网页的布局起作用,它也将响应用户交互例如点击事件,对于其添加过渡属性可以显示动画效果。对于opacity属性,可以利用其透明的视觉效果制作点击劫持攻击。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<style type="text/css">
    .opacity-hide{
        opacity: 0;
    }
</style>

<section>
    <div id="t2">opacity</div>
</section>

<script type="text/javascript">
    document.getElementById("t2").addEventListener("click", e => {
        alert("第一次点击会透明,依旧占据原本位置,点击事件依旧有效,动画过渡效果生效");
        e.srcElement.classList.add("opacity-hide");
    })
</script>

visibility

visibility属性值为hidden的时候,元素将会隐藏,也会占据着自己的位置,并对网页的布局起作用,与opacity不同的是它不会响应任何用户交互,元素在读屏软件中也会被隐藏,如果对于子元素的visibility被设置为visible而父元素的visibility设置为hidden,子元素依旧可以显示而父元素会被隐藏。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<style type="text/css">
    .visibility-hide{
        visibility: hidden;
    }
</style>

<section>
    <div id="t3">
        <div>visibility</div>
        <div style="visibility: visible; color: #000;">still show</div>
    </div>
</section>

<script type="text/javascript">
    document.getElementById("t3").addEventListener("click", e => {
        alert("第一次点击会隐藏,依旧占据原本位置,点击事件不再生效");
        e.srcElement.classList.add("visibility-hide");
    })
</script>

position

使用positionoverflow属性的意义就是把元素脱离文档流移出视觉区域,超出屏幕显示的部分隐藏掉,使用这两个属性隐藏主要就是通过控制方向topleftrightbottom达到一定的值,离开当前显示区域并将超出部分裁剪,此外在未隐藏时设定好相关样式,在动态添加class时即可实现过渡动画。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<style type="text/css">
    body{
        overflow: hidden;
    }
    
    .posistion-origin{
        position: absolute;
        left: 5px;
        top: 5px;
    }

    .position-hide{
        left: -150px;
    }
</style>

<section style="position: relative;height: 115px;">
    <div id="t4" class="posistion-origin" >position</div>
</section>

<script type="text/javascript">
    document.getElementById("t4").addEventListener("click", e => {
        alert("第一次点击会隐藏,元素不占据原本位置,过渡动画有效");
        e.srcElement.classList.add("position-hide");
    })
</script>

clip-path

clip-path属性使用裁剪方式创建元素的可显示区域,区域内的部分显示,区域外的隐藏,直接将元素裁剪之后即可实现隐藏效果,该属性兼容性一般,具体可以查阅https://caniuse.com/#search=clip-path

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<style type="text/css">
    .clip-path-hide{
        clip-path: polygon(0 0, 0 0, 0 0, 0 0);
    }
</style>

<section>
    <div id="t5" >clip-path</div>
</section>

<script type="text/javascript">
    document.getElementById("t5").addEventListener("click", e => {
        alert("第一次点击会隐藏,元素占据原本位置,点击事件不再生效");
        e.srcElement.classList.add("clip-path-hide");
    })
</script>

height

类似于positionoverflow的组合,使用height: 0;将元素高度设置为0,使用overflow: hidden将超出部分裁剪隐藏,即可实现隐藏效果,如果需要使用这两个属性制呈现过渡动画的话,需要将height给予一个确定的值,不能是auto

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<style type="text/css">
    .height-hide{
        height: 0 !important;
        overflow: hidden;
    }
</style>

<section>
    <div id="t6" >height</div>
</section>

<script type="text/javascript">
    document.getElementById("t6").addEventListener("click", e => {
        alert("第一次点击会隐藏,元素不占据原本位置,点击事件不再生效,过渡动画有效");
        e.srcElement.classList.add("height-hide");
    })
</script>

代码示例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html>
<head>
    <title>隐藏元素</title>
    <style type="text/css">

        body{
            overflow: hidden;
        }

        section > div:first-child{
            width: 100px;
            height: 100px;
            background-color: blue;
        }

        section{
            border-bottom: 1px solid #eee;
            padding: 5px;
            box-sizing: border-box;
        }

        div{
            color: #fff;
            transition: all .3s;
        }

        .display-hide{
            display: none;
        }

        .opacity-hide{
            opacity: 0;
        }

        .visibility-hide{
            visibility: hidden;
        }

        .posistion-origin{
            position: absolute;
            left: 5px;
            top: 5px;
        }

        .position-hide{
            left: -150px;
        }

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

        .height-hide{
            height: 0 !important;
            overflow: hidden;
        }

    </style>
</head>
<body>
    <section>
        <div id="t1">display</div>
    </section>

    <section>
        <div id="t2">opacity</div>
    </section>

    <section>
        <div id="t3">
            <div>visibility</div>
            <div style="visibility: visible; color: #000;">still show</div>
        </div>
    </section>

    <section style="position: relative;height: 115px;">
        <div id="t4" class="posistion-origin" >position</div>
    </section>

    <section>
        <div id="t5" >clip-path</div>
    </section>

    <section>
        <div id="t6" >height</div>
    </section>
</body>
    <script type="text/javascript">
        document.getElementById("t1").addEventListener("click", e => {
            alert("第一次点击会隐藏,此后再也无法点击");
            e.srcElement.classList.add("display-hide");
        })

        document.getElementById("t2").addEventListener("click", e => {
            alert("第一次点击会透明,依旧占据原本位置,点击事件依旧有效,动画过渡效果生效");
            e.srcElement.classList.add("opacity-hide");
        })

        document.getElementById("t3").addEventListener("click", e => {
            alert("第一次点击会隐藏,依旧占据原本位置,点击事件不再生效");
            e.srcElement.classList.add("visibility-hide");
        })

        document.getElementById("t4").addEventListener("click", e => {
            alert("第一次点击会隐藏,元素不占据原本位置,过渡动画有效");
            e.srcElement.classList.add("position-hide");
        })

        document.getElementById("t5").addEventListener("click", e => {
            alert("第一次点击会隐藏,元素占据原本位置,点击事件不再生效");
            e.srcElement.classList.add("clip-path-hide");
        })

        document.getElementById("t6").addEventListener("click", e => {
            alert("第一次点击会隐藏,元素不占据原本位置,点击事件不再生效,过渡动画有效");
            e.srcElement.classList.add("height-hide");
        })
    </script>
</html>

每日一题

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://github.com/WindrunnerMax/EveryDay

参考

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://www.cnblogs.com/jing-tian/p/10969109.html
https://blog.csdn.net/cuo9958/article/details/53559826
https://blog.csdn.net/weixin_41910848/article/details/81875725
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-06-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
这就是一种瞎搞的做法。。。
这就是一种瞎搞的做法。。。
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
Python办公自动化(六)|自动更新表格,告别繁琐
今天我们讲解的案例是如何使用Python自动更新Excel表格,简单来说就是每天都会对Excel中多个sheet进行更新,需要操作完后可以用程序完成第一张sheet 汇总表的更新,大概就是这样? 当然
龙哥
2020/07/10
1.8K0
Python办公自动化(六)|自动更新表格,告别繁琐
手把手教你4种方法用Python批量实现多Excel多Sheet合并
大家好,我是崔艳飞。前两天给大家分享了Python自动化文章:手把手教你利用Python轻松拆分Excel为多个CSV文件,而后在Python进阶交流群里边有读者遇到一个问题,他有很多个Excel表格,他需要对这些Excel文件进行合并。
Python进阶者
2021/03/09
2.1K0
手把手教你4种方法用Python批量实现多Excel多Sheet合并
【实用原创】20个Python自动化脚本,解放双手、事半功倍
在当今的快节奏工作环境中,自动化不再是一种奢侈,而是提高效率和精确性的必需手段。Python,以其易于学习和强大的功能而闻名,成为实现各种自动化任务的理想选择。无论是数据处理、报告生成,还是日常的文件管理,一个简单但有效的Python脚本就能大幅减轻您的工作负担。在本文中,我们将探索如何使用Python来创建多个自动化脚本,它不仅能够节省您的时间,还可以提高工作的准确率和效率。我们先来看第一个自动化脚本
用户6888863
2023/12/13
2.6K0
【实用原创】20个Python自动化脚本,解放双手、事半功倍
【python】pyarrow.parquet+pandas:读取及使用parquet文件
pyarrow.parquet模块,可以读取和写入Parquet文件,以及进行一系列与Parquet格式相关的操作。例如,可以使用该模块读取Parquet文件中的数据,并转换为pandas DataFrame来进行进一步的分析和处理。同时,也可以使用这个模块将DataFrame的数据保存为Parquet格式。
Qomolangma
2024/07/30
7250
【python】pyarrow.parquet+pandas:读取及使用parquet文件
Python自动化办公对每个子文件夹的Excel表加个表头(Excel不同名)(上篇)
上一篇文章,我们抛出了一个问题,这篇文章来进行解答。如果针对子文件夹下不同的Excel表名,应该如何处理?
Python进阶者
2023/09/02
1850
Python自动化办公对每个子文件夹的Excel表加个表头(Excel不同名)(上篇)
Python让Excel飞起来—批量进行数据分析
corr()函数默认计算的是两个变量之间的皮尔逊相关系数。该系数用于描述两个变量间线性相关性的强弱,取值范围为[-1,1]。系数为正值表示存在正相关性,为负值表示存在负相关性,为0表示不存在线性相关性。系数的绝对值越大,说明相关性越强。- 上表中第1行第2列的数值0.982321,表示的就是年销售额与年广告费投入额的皮尔逊相关系数,其余单元格中数值的含义依此类推。需要说明的是,上表中从左上角至右下角的对角线上的数值都为1,这个1其实没有什么实际意义,因为它表示的是变量自身与自身的皮尔逊相关系数,自然是1。- 从上表可以看到,年销售额与年广告费投入额、成本费用之间的皮尔逊相关系数均接近1,而与管理费用之间的皮尔逊相关系数接近0,说明年销售额与年广告费投入额、成本费用之间均存在较强的线性正相关性,而与管理费用之间基本不存在线性相关性。前面通过直接观察法得出的结论是比较准确的。- 第2行代码中的read_excel()是pandas模块中的函数,用于读取工作簿数据。3.5.2节曾简单介绍过这个函数,这里再详细介绍一下它的语法格式和常用参数的含义。- read_excel(io,sheet_name=0,header=0,names=None,index_col=None,usecols=None,squeeze=False,dtype=None)
润森
2022/09/22
6.5K0
Python让Excel飞起来—批量进行数据分析
盘点一个Python自动化办公Excel数据处理的需求
前几天在Python白银交流群【干锅牛蛙】问了一个Python处理Excel数据的问题。问题如下:有两个问题哈:1、表头有合并单元格识别不出来,如何处理类似下图
Python进阶者
2024/02/29
1410
盘点一个Python自动化办公Excel数据处理的需求
Python glob 模块全解析:轻松处理文件路径匹配
在 Python 中,glob 模块 主要用于 查找符合特定规则的文件路径,它支持使用通配符(如 *、? 和 [])来进行灵活的文件搜索。相比于 os.listdir(),glob 更适合按模式匹配文件,非常适用于批量处理文件。
不止于python
2025/03/17
2420
Python glob 模块全解析:轻松处理文件路径匹配
将《程序员工作中常见的英语词汇》转换为csv,xlsx单文件,并导入摸鱼单词
最近在App Store发现了一款在电脑背单词的软件,可以充分利用上班的碎片时间记单词
zhaoolee
2023/11/27
3100
将《程序员工作中常见的英语词汇》转换为csv,xlsx单文件,并导入摸鱼单词
excel办公小能手,python合并多个EXCEL表的两种方法
手里头有一份网站关键词数据,当然是来源于工具,站长之家工具的网站查询数据,百度搜索前百名的网站数据,总共96个excel文档数据,至于为什么不是一百个excel文档,答案是有重复网站覆盖了,比如某些大站,比如,百度自身网站,知乎,京东,阿里网站等!
二爷
2020/11/03
1.1K0
excel办公小能手,python合并多个EXCEL表的两种方法
补充篇:盘点6种使用Python批量合并同一文件夹内所有子文件夹下的Excel文件内所有Sheet数据
大家好,我是Python进阶者。前一阵子给大家分享了Python自动化文章:手把手教你利用Python轻松拆分Excel为多个CSV文件,手把手教你4种方法用Python批量实现多Excel多Sheet合并,而后在Python进阶交流群里边有个叫【扮猫】的粉丝遇到一个问题,她有很多个Excel表格,而且多个excel里多个sheet表,现在需要对这些Excel文件进行合并。
Python进阶者
2021/12/01
1.7K0
补充篇:盘点6种使用Python批量合并同一文件夹内所有子文件夹下的Excel文件内所有Sheet数据
盘点4种使用Python批量合并同一文件夹内所有子文件夹下的Excel文件内所有Sheet数据
大家好,我是Python进阶者。前一阵子给大家分享了Python自动化文章:手把手教你利用Python轻松拆分Excel为多个CSV文件,手把手教你4种方法用Python批量实现多Excel多Sheet合并,而后在Python进阶交流群里边有个叫【扮猫】的粉丝遇到一个问题,她有很多个Excel表格,而且多个excel里多个sheet,现在需要对这些Excel文件进行合并。
Python进阶者
2021/11/19
5K1
盘点4种使用Python批量合并同一文件夹内所有子文件夹下的Excel文件内所有Sheet数据
多表格文件单元格平均值计算实例解析
在日常数据处理工作中,我们经常面临着需要从多个表格文件中提取信息并进行复杂计算的任务。本教程将介绍如何使用Python编程语言,通过多个表格文件,计算特定单元格数据的平均值。
一键难忘
2023/12/23
3180
基于非侵入式负荷检测与分解的电力数据挖掘
**摘要:本案例将根据已收集到的电力数据,深度挖掘各电力设备的电流、电压和功率等情况,分析各电力设备的实际用电量,进而为电力公司制定电能能源策略提供一定的参考依据。更多详细内容请参考《Python数据挖掘:入门进阶与实用案例分析》**一书。
默 语
2024/11/20
750
基于非侵入式负荷检测与分解的电力数据挖掘
5个Python处理Excel小技巧,让你效率提升3倍!
Python是比较强大的语言,而且现在比较流行。我们经常看到很多广告说编程有多厉害,其中一样就是说python操作excel提高效率的。别人的课程怎样我不知道,这篇文章就来教一下怎么用Python操作excel,让工作效率得到提高。
码农向前冲
2021/12/30
7810
5个Python处理Excel小技巧,让你效率提升3倍!
数据处理技巧 | glob - 被忽略的超强文件批量处理模块
本篇推文开始,我将介绍一些常用的Python数据处理小技巧,帮助大家更好的处理数据,提高工作效率。今天我将介绍Python自带的一个模块-glob模块。涉及的内容主要如下:
DataCharm
2021/02/22
1.3K0
优雅整理Python中的import
众所周知,Python拥有丰富的标准库和第三方库,如果我们需要在Python中使用这些库,就需要使用import语句进行导入。通常情况下,项目中用到的库不止一个,所以会有很多的import语句,并且这些模块的种类也有多种,如标准模块、第三方模块、自定义模块等,如何对导入模块的顺序进行排序成了问题。并且随着代码的迭代,以前导入的模块可能后面就不需要用到,但是它还是会在Python文件中,每次都需要手动删除。
测试蔡坨坨
2022/12/21
1.5K0
优雅整理Python中的import
Excel合并小工具编写
由于女朋友太懒,又要让我干活,所以写一个简单的Excel合并小工具来帮她合并一下Excel。
zx钟
2020/04/26
8290
Python计算多个Excel表格内相同位置单元格的平均数
  本文介绍基于Python语言,对大量不同的Excel文件加以跨文件、逐单元格平均值计算的方法。
疯狂学习GIS
2024/08/29
1730
Python计算多个Excel表格内相同位置单元格的平均数
Pandas读取excel文件时,有这个报错,应该怎么解决?
前几天在Python最强王者交流群【钟爱一生】问了一个Python自动化办公的问题,问题如下:not well-formed (invalid token): line 3, column 74593各位老师,读取excel文件时,有这个报错,应该怎么解决?
Python进阶者
2024/06/13
1990
Pandas读取excel文件时,有这个报错,应该怎么解决?
推荐阅读
相关推荐
Python办公自动化(六)|自动更新表格,告别繁琐
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验