微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

HTML css——堆叠上下文

堆叠上下文

层/堆叠上下文(stack content) 他是一块区域,这块区域由某个元素创建 规定了该区域中内容在z轴上排列先后顺序

创建堆叠上下文的元素

  1. HTML元素(根元素)
  2. 设置z-index数值的定位元素(非auto值)

一个堆叠上下文中元素在z轴上排列

从后到前的排列顺序:

  1. 创建堆叠上下文的元素的背景和边框

  2. 堆叠级别(z-index stack level)为负值的堆叠上下文

  3. 常规流非定位的块盒

  4. 非定位的浮动盒子

  5. 常规流非定位行盒

  6. 任何 z-index 是auto的 定位子元素,以及z-index是0的堆叠上下文

  7. 堆叠级别为正值的堆叠上下文

每个堆叠上下文,独立于其他堆叠上下文,他们之间不能相互穿插

<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <Meta http-equiv="X-UA-Compatible" content="IE=edge">
    <Meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        html{
            background-color: lightblue;
        }

        .c1{
            position: relative;
            z-index: 0;
            height: 200px;
            width: 200px;
            background-color: #008c8c;
        }

        .c2{
            position: absolute;
            z-index: -1;
            height: 200px;
            width: 200px;
            background-color: chocolate;
            left: 100px;
            top: 100px;
        }

        .item1,.item2{
            position: absolute;
            width: 100px;
            height: 100px;
        }

        .item1{
            right: -50px;
            bottom: -50px;
        }



    </style>
</head>
<body>
    <div class="c1">
        <div class="item1" style="background-color: red;"></div>
        <div class="item2"></div>
    </div>
    <div class="c2">
        <div class="item1" style="background-color: rgb(122, 8, 8);"></div>
        <div class="item2"></div>
    </div>
</body>
</html>

对item1设置z-index不管用,因为视为整体,整体排列,统一设置外层

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。