隐藏元素的方法

隐藏元素的方法可以总结为六类:直接隐藏、对溢出内容隐藏、对元素透明度进行调整、将元素移除当前屏幕、对元素的层级关系进行调整、对元素进行裁剪

只有对元素的透明度进行调整才可以点击,其余都不可点击

// 直接隐藏
visibility:hidden
display:none // 对溢出内容隐藏
overflow:hidden
text-overflow:ellipsis

// 对元素透明度进行调整
opacity:
background:transparent

// 将元素移除当前屏幕
position:absolute/relative
margin:-1000px
transform:translate(-9999px)
text-indent:-9999px

// 对元素的层级关系进行调整
z-index:-1000 // 对元素进行裁剪
clip(clip-path):rect()/inset()/polygon()

第一类方法:直接隐藏

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

第二类方法:对溢出内容隐藏

.hide{
overflow:hidden; /* 占据空间,无法点击 */
} .hide{
text-overflow:ellipsis; /* 占据空间,无法点击 */
}

第三类方法:对元素透明度进行调整

.hide{
opacity:;/* 占据空间,可以点击 */
} .hide_2{
-webkit-filter:opacity();
filter:opacity();/* 占据空间,可以点击 */
} .hide_2{
background:transpant;/* 占据空间,可以点击 */
}

注:过滤元素filter也可使用opacity值设置透明度,不过filter现在的兼容性不好,只支持webkit内核,这里顺带一提。

第四类方法:将元素移除当前屏幕

.hide{
position:absolute;
left:-99999px;
top:-90999px;/* 不占据空间,无法点击 */
} .hide-{
position:relative;
left:-99999px;
top:-90999px;/* 占据空间,无法点击 */
} div{
margin-left:-9999px; /* 占据空间,无法点击 */
} .hide{
transform: translate(,)/* 占据空间,无法点击 */
} .hide{
div{text-indent:-9999px;}/* 占据空间,无法点击 */
}

第五类方法:对元素的层级关系进行调整

.hide{
position:absolute;
z-index:-;/* 不占据空间,无法点击 */
}

第六类方法:对元素进行裁剪

.hide{
position:absolute;/*fixed*/
clip:rect(top,right,bottom,left);/* 占据空间,无法点击 */
} .hide_2 {
clip-path: polygon(0px 0px,0px 0px,0px 0px,0px 0px);
}

注:在以前,这可以通过 clip 属性来实现,但是这个属性被废弃了(现在浏览器依然支持),换成一个更好的属性叫做 clip-path,但可惜的是依旧只能在chrome40+浏览器里使用。

参考:

CSS 隐藏元素的八种方法

css之10种隐藏元素的方法

用 CSS 隐藏页面元素的 5 种方法

css隐藏元素的六类13种方法的更多相关文章

  1. CSS隐藏元素的几种方法

    使用CSS隐藏元素的方法很多,在这里简单总结一下: 1.display:none display:none 应该是最常用的一种隐藏元素的方法,使用该方法隐藏的元素脱离文档流不占据空间,不会被浏览器解析 ...

  2. CSS“隐藏”元素的几种方法的对比

    本文地址:http://luopq.com/2016/02/15/css-tricks-of-hide-element/,转载请注明 一说起CSS隐藏元素,我想大部分小伙伴们都会想到的第一种方法就是设 ...

  3. css隐藏元素的几种方法与区别

    css隐藏元素的几种方法与区别 一:display:none;隐藏不占位 display 除了不能加入 CSS3 动画豪华大餐之外,基本效果卓越,没什么让人诟病的地方. 二:position:abso ...

  4. CSS隐藏元素的几种妙法

    一说起CSS隐藏元素,我想大部分小伙伴们都会想到的第一种方法就是设置display为none.这是最为人所熟知也是最常用的方法.我相信还有不少人想到使用设置visibility为hidden来隐藏元素 ...

  5. 有趣的css—隐藏元素的7种思路

    css隐藏元素的7种思路 前言 display.visibility.opacity三个属性隐藏元素之间的异同点一直是前端面试面试的常考题. 属性 值 是否在页面上显示 注册点击事件是否有效 是否存在 ...

  6. 【前端】CSS隐藏元素的方法和区别

    CSS隐藏元素的方法和区别 <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...

  7. CSS实现导航条Tab的三种方法

    前面的话   导航条Tab在页面中非常常见,本文说详细介绍CSS实现导航条Tab的三种方法 布局   根据上图所示,先规定几个定义,上图的模块整体叫做导航,由导航标题和导航内容组成.要实现上图所示的布 ...

  8. 去除inline-block元素间间距的N种方法-zhangxinxu

    张鑫旭原文:点这里进入原文 另外附上大漠老师的如何解决inline-block元素的空白间距地址!!! 去除inline-block元素间间距的N种方法: 一.现象描述 真正意义上的inline-bl ...

  9. Python--day69--ORM查询的13种方法

    ORM查询的13种方法: 必知必会13条 <1> all(): 查询所有结果 <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <3> ...

随机推荐

  1. CESM部署安装环境和使用

    平台信息 Description: CentOS Linux release 7.6.1810 (Core) 安装CESM 安装前提:(小提示:耗时较长,需要耐心)阅读原文 CentOS 7(检查:s ...

  2. Kafka monitoring监控

    一.Metrics kafka有两个metrics包,在看源码的时候很容易混淆 package kafka.metrics package org.apache.kafka.common.metric ...

  3. 配置matcaffe 遇到的两个坑

    1. 问题 (1) Invalid MEX-file '/root/caffe/matlab/+caffe/private/caffe_.mexa64': /matlab/r2016a/bin/gln ...

  4. ApplicationContextAware的作用

    ApplicationContextAware其实我们看到---Aware就知道是干嘛用的了,就是属性注入的, 但是这个ApplicationContextAware的不同地方在于,实现了这个接口的b ...

  5. [Android]对字符串进行MD5加密

    /** * 将字符串转成MD5值 * * @param string * @return */ public static String stringToMD5(String string) { by ...

  6. MahApps.Metro控件更換微軟視窗主題

    先來看一下微軟默認的視窗主題(左:Window)與MahApps.Metro的視窗主題(右:MetroWindow), Window   MetroWindow   MetroWindow似乎美觀多了 ...

  7. Windows 编程

    在WndProc函数中 最好不要出现WM_SYSCOMMAND消息, 如果有了这个消息, 可能我们对创建出来的窗口就什么都管不了了, 因为我们阻碍了DefWndProc函数去处理它 不在.rc文件中添 ...

  8. linux程序分析工具介绍(二)—-ldd,nm

    本文要介绍的ldd和nm是linux下,两个用来分析程序很实用的工具.ldd是用来分析程序运行时需要依赖的动态库的工具:nm是用来查看指定程序中的符号表相关内容的工具.下面通过例子,分别来介绍一下这两 ...

  9. 修改jar包bug的方式

    第一种方式 1. 直接在项目同样的包名里面新建同样的class,会优先jar包的class加载,等同于覆盖. 第二种方式 2. 拿到第一步打包后的jar或者war,找到相应的java类的.class文 ...

  10. C#注册URL协议,使用浏览器打开本地程序,类似网页上点了QQ交谈打开本地QQ客户端程序

    本教程适用于Windows系统 从浏览器上打开本地程序,主要用到了本地URL协议,其实主要就是改注册表 先建立一个项目,我建的是控制台项目 在Program.cs写2个静态方法用来添加注册表.移除注册 ...