zoukankan      html  css  js  c++  java
  • CSS元素隐藏方法总结

    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. 可以点击
  • 相关阅读:
    TP
    vim manual 个人笔记
    关于动画属性
    过渡
    关于 css3 的filter属性
    html 中行内元素和块级元素区别
    JS以不同的格式保存文件内容
    64位Kali无法顺利执行pwn1问题的解决方案
    鱼龙混杂 · 数据结构学习笔记(01)
    Terminal(终端) 在 OS X下如何快速调用
  • 原文地址:https://www.cnblogs.com/ningyn0712/p/11582238.html
Copyright © 2011-2022 走看看