首页 > 其他分享 >元素显示与隐藏

元素显示与隐藏

时间:2024-01-08 14:01:05浏览次数:30  
标签:显示 DOM 元素 none gd delt 隐藏 页面


引入

大家注意这个效果

元素显示与隐藏_html

广告按钮,当我点击那个❌的时候,我们会发现广告自己会消失不见并且不会占有原来的位置。

元素显示与隐藏_html_02

这里就要用到一个css的知识,隐藏

display

display属性用于设置一个元素应如何显示。

  1. none: 元素不会被显示。
  2. block: 元素显示为块级元素,像 <p><div> 这样的标签默认就是块级元素。块级元素会独占一行,上下都会有换行,并且可以设置宽度和高度。
  3. inline: 元素显示为内联元素,像 <span><a> 这样的标签默认就是内联元素。内联元素不会独占一行,元素之间可以并排显示,并且宽度和高度由内容决定,不能直接设置。
  4. inline-block: 元素显示为内联块级元素,这是 inlineblock 的结合体。元素既可以并排显示,又可以设置宽度和高度。

后面三个我在前面的中介绍过了,如果不了解的话可以去看一下。

我们先来了解一下JavaScript中的一项基本知识,Dom

什么是Dom?

文档对象模型(DOM)是一个网络文档的编程接口。它代表页面,以便程序可以改变文档的结构、风格和内容。DOM 将文档表示为节点和对象;这样,编程语言就可以与页面交互。

简单来说就是HTML中的元素在js中的存在形式。浏览器会根据吧html标签生成js对象,所有的标签都有对应的js对象。通过js对象我们可以操作这些标签的显示。

none

将元素从当前界面删除,会使元素从页面上完全消失并且不占有原来的位置,就像我上面介绍的京东的广告一样。

但是它并不会从DOM中删除,不是完全删除,只是从该页面删除。

原理

其实我们使用 CSS 的 display: none; 属性时,我们实际上是在告诉浏览器不要渲染这个元素,即使它仍然存在于 DOM 树中。这就像是我们关闭了一盏灯:物体仍然在那里,只是我们看不见它了。

其实这个要是不理解也没有关系,只是避免大家以为使用display:none就是删除整个标签的误解,所以这里会稍微的引入一下DOM这个概念。

案例

实现广告删除模块

效果展示

元素显示与隐藏_块级元素_03


当我点击X

元素显示与隐藏_块级元素_04


上面的1和下面的1紧挨。表明删除元素在页面中的位置

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>我是广告快删除我</title>
    <style>
        .gd{
            position: relative;
            width: 1200px;
            height: 100px;
            background-color: pink;
            margin: 10px auto;
        }
        a{
            text-decoration: none;
        }
        .delt{
            position: absolute;
            top:10px;
            right: 10px;
        }
    </style>
</head>
<body>
    <div>1</div>
    <div class="gd">
        <div class="delt">X</div>
    </div>
    <div>1</div>
    <script>
        //简单了解一下,这个就是我上面说的DOM操作
        const gd = document.querySelector('.gd')
        const delt = document.querySelector('.delt')
        delt.addEventListener('click',function(){
            gd.style.display = 'none'
            console.log(1)
        })
    </script>
</body>
</html>

visibility:

visibility 属性用于控制元素是否可见。它的属性值如下:

  1. visible: 默认值,元素可见。
  2. hidden: 元素不可见,但仍占用页面上的空间。这意味着,即使元素被隐藏,它仍然会影响布局,就好像它仍然在那里一样。
  3. collapse: 主要应用于表格元素,如果用于非表格元素,效果与 hidden 相同。对于表格元素,当设置为 collapse 时,行或列会被隐藏,且不占用空间。
  4. inherit: 元素继承其父元素的 visibility 属性值。

 依旧是广告演示

 

元素显示与隐藏_块级元素_05

 

点击后

 

元素显示与隐藏_块级元素_06

 

我们发现它保留位置。并不删除储存在这里的空间,这个能在那里使用呢?主要是当你的页面不能再有改变的时候,如果更改会造成你的页面直接塌陷的话,你需要使用这个模块来设置需要的关闭界面。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>我是广告快删除我</title>
    <style>
        .gd{
            position: relative;
            width: 1200px;
            height: 100px;
            background-color: pink;
            margin: 10px auto;
        }
        a{
            text-decoration: none;
        }
        .delt{
            position: absolute;
            top:10px;
            right: 10px;
        }
    </style>
</head>
<body>
    <div>1</div>
    <div class="gd">
        <div class="delt">X</div>
    </div>
    <div>1</div>
    <script>
        //简单了解一下,这个就是我上面说的DOM操作
        const gd = document.querySelector('.gd')
        const delt = document.querySelector('.delt')
        delt.addEventListener('click',function(){
            gd.style.visibility = 'hidden'
            console.log(1)
        })
    </script>
</body>
</html>

了解完这个快去动手写一个广告界面,挣大钱!!!! 

标签:显示,DOM,元素,none,gd,delt,隐藏,页面
From: https://blog.51cto.com/u_16426526/9144112

相关文章

  • springboot项目中,Mapper接口映射xml文件出错问题,显示Invalid bound statement
    在进行springboot开发过程中遇到的一个问题,显示org.apache.ibatis.binding.BindingException:Invalidboundstatement(notfound);大概意思应该就是找不到Mapper接口对应的xml映射文件,检查了以后,发现应该是没有正确扫描到映射文件的路径。1.保证java文件夹下面的Mapper接口包名称......
  • Python 通过 akshare 绘制中国平安均线并显示买卖点
    继续上篇,通过akshare绘制中国平台的均线,并在5日线上穿10日线的时候,显示买入信号,在5日线下穿10日均线的时候,显示卖出信号环境:python3.9(miniconda3)、Pycharm、Win10需要用的模块或者工具库:akshare(1.11.91)、pandas(2.1.1)、numpy(1.26.2)、matplotlib(3.8.2)、mplfinanc......
  • 请将鼠标悬停在下面的元素上,即可查看 2D 和 3D 转换之间的区别
    请将鼠标悬停在下面的元素上,即可查看2D和3D转换之间的区别:2Drotate3Drotatetransformcode<div><p>请将鼠标悬停在下面的元素上,即可查看2D和3D转换之间的区别:</p><style>#rotate2D,#rotate3D{width:80px;height:70px;color:white;......
  • el-table 设置合并行或列时,显示错乱问题
    1.需求效果图:2.接口数据格式:点击查看代码constlist=[{contractNo:"CAI-20220801001",contractItem:"用户质量指数",count:15234,customerItems:[{contractNo:null,contractItem:"反欺诈分......
  • 回溯法求解n个元素的集合的幂集
      过程:树中的根节点表示幂集元素的初始状态(为空集);叶子节点表示它的终结状态中幂集ρ(A)的8个元素;第i层(i=1,2,3,...,n)层的分支节点,则表示已对集合A中前i-1个元素进行了取/舍处理的当前状态(其中左分支表示“取”,右分支表示“舍”);将上述问题求解集合的幂集转换为先序遍历这棵......
  • mac下appium定位元素检察器会话在启动会话后,界面一直在加载中
    1.检查Appium服务器是否正常运行,可以在终端中输入appium查看是否正常启动;2.检查手机是否正常连接,可以在终端中输入idevice_id-l查看是否有设备连接;3.检查Appium服务器和手机之间的连接,可以在终端中输入ideviceinfo-u<device_udid>查看是否有设备连接;4.检查Appium服务器......
  • 伪元素和伪类的区别和作用
    伪元素:在内容元素的前后插入额外的元素或样式,但是这些元素实际上并不在文档中生成。它们只在外部显示可见,但不会在文档的源代码中找到它们,因此称为“伪元素”。例如:p::before{content:'后面伪元素'}p::after{content:'前面伪元素'}//设置第一行样式p::first-l......
  • 软件开发隐藏报价和虚假信息协议书,明确的如下2点关键原则
    软件开发外包已成为众多企业实现技术创新、降低成本的有效途径。然而,在这一领域中,不透明的定价策略和虚假信息问题屡见不鲜,给交易双方带来了不少困扰与风险。因此,为了保障企业的合法权益,签署包含隐藏报价和虚假信息赔偿条款的外包合同显得尤为重要。如下参考“东莞梦幻网络科技”......
  • EasyNVR接入EasyNVS显示服务不存在的原因及解决办法
    EasyNVS云管理平台具备汇聚与管理EasyGBS、EasyNVR等平台的能力,可以将接入的视频资源实现统一的视频能力输出,支持远程可视化运维等管理功能,还能解决设备现场没有固定公网IP却需要在公网直播的需求。有用户在现场部署EasyNVR,将EasyNVR级联到EasyNVS并在EasyNVS上对视频进行集中管理,......
  • 基于TIC6000的DSP教学实验箱操作教程:5-18 RGB24图像灰度转换(LCD显示)
    一、实验目的学习RGB24图像灰度转换的原理,掌握图像的读取方法,并实现在LCD上显示灰度转换前后的图像。二、实验原理RGB24图像灰度转换RGB颜色空间作为一种常用的彩色图像表示模型,分别用红(R)、绿(G)、蓝(B)三原色的组合来表示每个像素的颜色。一般情况下,RGB彩色图像灰度化有三种转化方案:(1)......