• z-index之深入理解


    z-index之深入理解

    此文为张鑫旭老师CSS深入了解系列课程的学习笔记,观看张老师的教学视频收益匪浅。

    传送门http://www.imooc.com/u/197450/courses?sort=publish


     

    特性:

    1. 可以为负值

    2. 支持CSS3 animation动画

    3. CSS2.1时代,需要和定位元素配合使用

     

    原则:

    1. 后来居上

    2. 大值居上

    3. 祖先优先(z-index是负值不是auto

     

    层叠上下文的特征:

    1. 层叠上下文可以嵌套,组成一个分层次的层叠上下文

    2. 每个层叠上下文和兄弟元素独立:当进行层叠变化或渲染的时候,只需要考虑后代元素

    3. 每个层叠上下文是自成体系的:当元素的内容被层叠后,整个元素被认为是在父层的层叠顺序中,不影响父层的层叠顺序

     

    七阶层叠水平

     

     

    Z-index和层叠上下文

    1. 定位元素默认为z-indexauto可以看成是z-index:0

    2. Z-index不为auto的定位元素会创建层叠上下文

    3. Z-index层叠顺序的比较止步于父级层叠上下文

     

    其他参与层叠上下文的元素:

     

    1. Z-index值不为autoflex项(父元素display:flex|inline-flex

     

    .box { display: flex; } .box > div { z-index: 1; } 配合使用

     

    2. 元素的opacity值不是1

     

     

    3. 元素的transform值不是none

     

     

    4. 元素的mix-blend-mode值不是normal

     

     

    5. 元素的filter值不是none

     

    6. 元素的isolation值是isolate

     

     

    7. Position:fixed声明(Chromeblink/webkit内核浏览器)

     

    8. Wiil-change指定的属性值为上面任意一个

     

    9. 元素的-webkit-overflow-scrolling设为touch

     

    z-index实际使用:

    1. 最小化影响原则

    2. 不犯二原则

    原因:多人协作以及后期维护

      对于非浮层元素,避免使用z-index值,z-index值没有任何理由超过2

     

    3. 组件层级计数器方法

    目的:避免浮动组件因z-index被覆盖的问题

    原因:

    1.总会遇到意想不到的高层级元素

    2.组件的覆盖规则具有动态性

    做法:通过JS获取body元素下子元素的最大z-indexmax,将浮动组件的z-index设为max+1

     

    4. 可访问性隐藏

     

    1) 将按钮的z-index设为-1

    2) 设置按钮属性position:absolute; left:-99999px; top:-999999px;

    3) 将按钮的display设为none

     
  • 相关阅读:
    C# 中Async 和 Await 的用法,异步等待执行结果
    C# 事件发布和订阅
    C# 多线程使用信号量控制处理效率,统计活动中的线程
    C# 委托和泛型委托示例
    C# 数据库批量插入数据之 —— SqlBulkCopy、表值参数
    WinRar DOS命令大全带详细参数rar/zip/7z压缩文件解密
    Magic.Orm 基于C#的ORM框架,支持Sql Server/MySql/Oracle/Access/Sqlite等数据库,支持Lambda表达式快速上手0难度
    SqlServer使用SqlBulkCopy批量新增和更新数据,快速高效
    Flink内存模型
    Linux 查找替换
  • 原文地址:https://www.cnblogs.com/jkfeng/p/12974840.html
Copyright © 2020-2023  润新知