隐藏元素、无法点击,这之间有什么关系呢?

可以配合我写的 html 食用:https://github.com/dirstart/ScriptOJ/blob/master/OJ_CSS/4.css隐藏元素.html

我将他们分为 可以点击 和 无法点击两类。

  • 无法点击

    • display:none; - 不占据空间,都没有办法渲染出来了,还点击?
    • visibility:hidden; - 占据着空间,但是元素无法选择。
    • position:absolute;top:-999em; 不占据空间
    • position:relative;top:-999em; 占据空间
    • position:absolute;visibility:hidden; 不占据空间
    • height:0;overflow:hidden; 不占据空间(溢出隐藏,又没有高度)
  • 可以点击
    • opacity: 0:filter:Alpha(opacity=0); 兼容写法,占据空间
设置了position:absolute;往往不占据空间,display:none;是直接蒸发了,根本没有空间一说。position:relative;是相对原来的位置定位,还是占据着空间。opacity只是设置了透明度,是个透明人,不过还是在那里的。

关于display:none;visibility: hidden;

不同有三点

  • 空间占据

前者不占据空间,后者占据空间。

  • 回流和渲染

前者常常会产生 回流和重绘(主要还是第一点 空间占据 引发的问题)。而后者往往没有这个问题。

  • 株连性-它们的后代

祖先为前者,则后代统统不见。祖先为后者,后代可以通过改变而显示

后者重新显示的方法

css

  div {
visibility: hidden;
}
span {
visibility: visible;
}

html

<div><span>123</span></div>

CSS(九)元素隐藏和利弊的更多相关文章

  1. 用css让元素隐藏的几种办法

    display:none;   //能隐藏并不占空间 visibility:hidden;  //隐藏但占据空间 opacity:0; position:absolute 移动到不在页面显示的地方

  2. CSS中如何让元素隐藏

    在CSS中,让元素隐藏(指屏幕范围内肉眼不可见)的方法很多,有的占据空间,有的不占据空间:有的可以响应点击,有的不能响应点击.下面一个个列出,选一个适合你的 { display: none; /* 不 ...

  3. css元素隐藏(display:none和visibility:hidden)

    在css中, display:none和visibility:hidden都能够使元素隐藏.但是两者所带来的效果完全不同. css  display:none 当使用该样式的时候,HTML元素的宽高等 ...

  4. python+selenium:解决上传文件<input type='file'>标签属性被css的visibility隐藏导致无法定位元素的问题

    要想上传文件,需要找到在HTML中<input type="file" />这个标签,有它就可以利用send_keys上传文件,不过这里的<input>元素 ...

  5. 您可能不知道的CSS元素隐藏“失效”以其妙用

    您可能不知道的CSS元素隐藏“失效”以其妙用 by zhangxinxu from http://www.zhangxinxu.com地址:http://www.zhangxinxu.com/word ...

  6. 您可能不知道的CSS元素隐藏“失效”以其妙用——张鑫旭

    一.CSS元素隐藏 在CSS中,让元素隐藏(指屏幕范围内肉眼不可见)的方法很多,有的占据空间,有的不占据空间:有的可以响应点击,有的不能响应点击.后宫选秀——一个一个看. { display: non ...

  7. CSS元素隐藏的display和visibility

    一.CSS元素隐藏 在CSS中,让元素隐藏(指屏幕范围内肉眼不可见)的方法很多,有的占据空间,有的不占据空间:有的可以响应点击,有的不能响应点击. { display: none; /* 不占据空间, ...

  8. CSS元素隐藏

    { display: none; /* 不占据空间,无法点击 */ } /*************************************************************** ...

  9. 你可能不知道的CSS元素隐藏“失效”以其妙用

    在CSS中,让元素隐藏(指屏幕范围内肉眼不可见)的方法很多,有的占据空间,有的不占据空间:有的可以响应点击,有的不能响应点击.后宫选秀--一个一个看. { display: none; /* 不占据空 ...

随机推荐

  1. leetcode661

    vector<vector<int>> imageSmoother(vector<vector<int>>& M) { ; vector< ...

  2. leetcode319

    public class Solution { public int BulbSwitch(int n) { var x = Math.Sqrt(n); var y = Convert.ToInt32 ...

  3. Xcode快捷

  4. oracle 调整输出的列宽、行宽

    调整列宽 col 列名 format a20 调整行宽 set linesize 150

  5. PopupWindow-----点击弹出 PopupWindow 初始化菜单

    /** * 点击弹出 PopupWindow 初始化菜单 */ private void initPopupWindow() { PopupWindowAdapter adapter = new Po ...

  6. bzoj1951 组合数取模 中国剩余定理

    #include<bits/stdc++.h> using namespace std; typedef long long ll; const int a[4]={2,3,4679,35 ...

  7. ServerSocket的建立和使用

    -------------siwuxie095 工程名:TestMyServerSocket 包名:com.siwuxie095.socket 类名:MyServerSocket.java 工程结构目 ...

  8. cocos2d中setBlendFunc设置颜色混合方案

    CCSprite有一个ccBlendFunc类型的blendFunc_结构体成员,可以用来设置描绘时的颜色混合方案.ccBlendFunc包含了一个src和一个dst,分别表示源和目标的运算因子. 如 ...

  9. css 层叠式样式表(3)

    样式分类 大小 -- 调整div大小,长 width,高 height.长可以直接100%横向沾满屏幕,高不可以. 背景 background-color  背景色 background-image ...

  10. JAVA面向接口的编程思想与具体实现

    面向对象设计里有一点大家已基本形成共识,就是面向接口编程,我想大多数人对这个是没有什么觉得需要怀疑的.        问题是在实际的项目开发中我们是怎么体现的呢? 难道就是每一个实现都提供一个接口就了 ...