display:none; visibility:hidden; opacity:0三者的区别

display:none;

  1. 该属性会让元素完全从DOM中消失,浏览器不渲染设置该属性的元素,不占据DOM树空间
  2. 无法进行事件监听,不可点击
  3. 动态修改该属性会造成重排,性能较差
  4. 继承性方面:非继承性!设置了该属性的元素的子元素即使设置display:block依然不会显示它的子元素
  5. transition不支持display的显示隐藏动画效果,但是display:none不会影响animation的动画效果!

visibility:hidden;

  1. 设置该属性的元素依然在DOM中,会被浏览器渲染,占据DOM树空间
  2. 但它无法被监听,因此不可点击
  3. 动态修改该属性会引成重绘,性能较display:none高
  4. 属于继承性属性!设置该元素的子元素如果修改visibility值是可以显示该子元素的!
  5. transition支持该属性

opacity:0;

  1. 占据空间,仅仅是设置透明度让该元素不可见
  2. 可以被监听,可以点击
  3. 动态修改不会造成重绘和重排,性能较高!
  4. 非继承性!设置该属性元素的子元素若设置opacity:1依然无法显示
  5. 可以配合transition显示淡入淡出效果

position:relative; z-index:-1;

  1. 元素占据空间
  2. 不可见
  3. 不可点击

position:absolute; z-index:-1;

  1. 元素不占据空间,因为absolute让该元素脱离文档流
  2. 不可见
  3. 不能点击

position:absolute; opacity:0;

  1. 元素不占据空间
  2. 不可见
  3. 可以点击

CSS元素隐藏方法总结的更多相关文章

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

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

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

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

  3. CSS元素隐藏的display和visibility

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

  4. CSS元素隐藏

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

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

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

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

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

  7. CSS元素隐藏的11种方法

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

  8. css 元素居中方法

    目前知道有两种方法 方法一:主要适用于元素未设定高度的情况下. 直接上代码 html: <div class="nav-content"> <ul ng-clic ...

  9. CSS元素垂直居中方法总结

    坚持,坚持,坚持... 以上为自我鼓励,哈哈... ------------------------------------------------- 相信没有真正是尝试过的人应该都和我一样,觉得居中 ...

随机推荐

  1. leetcode-11-盛水最多的容器

    题目描述: 方法一:双指针 class Solution: def maxArea(self, height: List[int]) -> int: left = 0 right = len(h ...

  2. hadoop Datanode多目录配置

    1. DataNode也可以配置成多个目录,每个目录存储的数据不一样.即:数据不是副本2.具体配置如下 hdfs-site.xml <property> <name>dfs.d ...

  3. 小程序修改默认的radio样式

    1.wxml: <radio-group class="radio-group" bindchange="radioChange"> <vie ...

  4. Vue-组件详解

    转载:https://segmentfault.com/a/1190000015199363 查看原文站点,更多扩展内容及更佳阅读体验! 组件详解 组件与复用 Vue组件需要注册后才可以使用.注册有全 ...

  5. c语言 局部变量做返回值 问题

    一般的来说,函数是可以返回局部变量的. 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了.因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错.但是如果返回的是局部变量的地 ...

  6. PAT甲级——A1125 Chain the Ropes【25】

    Given some segments of rope, you are supposed to chain them into one rope. Each time you may only fo ...

  7. URL类发送请求

    import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import jav ...

  8. joda 获取每个月第一天第一秒和最后一天最后一秒

    /** * 获取每个月第一天的第一秒 * @return */ public static final Date getMouthOfFirst(){ DateTimeFormatter format ...

  9. Spring Boot 发布 jar 包转为 war 包秘籍。

    Spring Boot是支持发布jar包和war的,但它推荐的是使用jar形式发布.使用jar包比较方便,但如果是频繁修改更新的项目,需要打补丁包,那这么大的jar包上传都是问题.所以,jar包不一定 ...

  10. Spark如何读写hive

    原文引自:http://blog.csdn.net/zongzhiyuan/article/details/78076842 hive数据表建立可以在hive上建立,或者使用hiveContext.s ...