CSS中层叠和CSS的7阶层叠水平(上篇)

今天搜索资料时,忽然发现了以前没注意的一个知识点,所以拖过来搞一搞,这个知识点叫做CSS的7阶层叠水平

在说这个知识之前,我们必须要先了解一个东西以便于我们更好的理解CSS的7阶层叠水平

这个东西就是z-index属性(此篇为上篇,仅仅讲z-index)

基本含义:

z-index通俗来说就是在Z轴上的索引,Z轴是垂直于电脑屏幕的一根轴

用来设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面,即通常情况下,z-index为2的元素会在z-index为1的元素上面

取值情况:

z-index有三个取值

  auto:默认。堆叠顺序与父元素相等。

  number:设置元素的堆叠顺序。

  inherit:规定应该从父元素继承 z-index 属性的值。

特性:

  1.支持负值(如果为正数,则离用户更近,为负数则表示离用户更远。)

  2.支持CSS3 animation动画;(并没什么实用应用场景)

  3.在CSS2.1时代,需要和定位元素配合使用,如果不考虑CSS3,只有定位元素(position:relative/absolute/fixed/sticky)的z-index才有作用!在CSS3中有例外

准则:

  1.后来者居上原则

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
    .a{
        position: absolute;
        height: 400px;
        width: 400px;
        background-color: yellow;
    }
    .b{
        position: absolute;
        height:400px;
        width: 400px;
        background: red;
        margin-left: 100px;
         }
    </style>
</head>
<body>
    <div class="a"></div>
    <div class="b"></div>
</body>
</html>

运行结果:

解析:我们可以看到,红色作为后来的元素覆盖在之前的元素上了,在未设置z-index的前提下,后来元素会覆盖前面添加到元素,当然实在开启了绝对定位的前提下(不开启绝对定位不能直观的看到效果)

  

  2.谁大谁先上原则

    在.a添加z-index:2,在.b添加z-index:1

   运行结果:

    

  解析:通常情况下,z-index越大,层级越高,越在上面

  当发生嵌套时,祖先优先原则

  

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
    .a{
        position: absolute;
        height: 400px;
        width: 400px;
        background-color: yellow;
        z-index: 2;
    }
    .b{
        position: absolute;
        height:400px;
        width: 400px;
        background: red;
        margin-left: 100px;
        z-index: 1
         }
    .a1{
        position: absolute;
        height: 200px;
        width: 200px;
        background-color: aqua;
    }
    .b1{
        position: absolute;
        height: 200px;
        width: 200px;
        background-color: blue;
        z-index: 100
    }
    </style>
</head>
<body>
    <div class="a">
        <div class="a1"></div>
    </div>
    <div class="b">
        <div class="b1"></div>
    </div>
</body>
</html>

运行结果:

解析:按照前面所说应该是蓝色的格子会在最上面,这里并没有,原因就是祖先优先原则

   a的层级大于b的层级,所以a里面的元素会始终在b的上面,即使b的子元素的z-index为10000也没用

注意:

  所有主流浏览器都支持 z-index 属性

  任何的版本的 Internet Explorer (包括 IE8)都不支持属性值 "inherit"。

原文地址:https://www.cnblogs.com/suihang/p/10428754.html

时间: 2024-10-10 01:46:23

CSS中层叠和CSS的7阶层叠水平(上篇)的相关文章

CSS 7阶层叠水平

著名的7阶层叠水平(stacking level) 层叠上下文 background/border 负z-index block块状水平盒子:正常流失布局,非inline-block,无position定位(static除外) float浮动盒子:无position定位(static除外)的float浮动元素 inline/inline-block水平盒子:正常流式布局,非inline-block z-index:auto或z-index:0 正z-index 详细参考:http://www.c

CSS中background-image【CSS Sprites,base64编码】

CSS中,background可以设置对象的背景样式.如颜色或者使用一张图片代替,今天我要多说两句的就是使用一张图片的参数:image.准确的来说应该是background-image.我们可以这样用它: body{            background-image: url(... .jpg); }       /* 也可以直接使用background 代替 */ body{           background: url("....jpg"); } css显示图片分3种,

1.6 CSS的层叠特性

作为本章的最后一节,这里主要讲解CSS的层叠属性.CSS的全名叫做“层叠样式表”,读者有没有考虑过,这里的“层叠”是什么意思?为什么这个词如此重要,以至于要出现在它的名称里. CSS的层叠特性确实很重要,但是要注意,千万不要和前面介绍的“继承”相混淆,二者有着本质的区别.实际上,层叠可以简单地理解为“冲突”的解决方案. 例如有如下一段代码,示例文件位于网页学习网CSS教程资源“第1章\16.htm”. <html> <head> <title>层叠特性</titl

一个CSS中Z-index的用法

一个CSS中Z-index的用法 CSS教程:彻底掌握Z-index属性 大多数的CSS属性都很容易使用.常常,当您对标记语言的元素使用CSS属性时,产生的结果会随着您刷新页面而立即呈现.而另一些CSS属性,却会有一些复杂,且只能在给定的环境下才会工作. Z-index属性便属于上面所说的后面的那一组.Z-index无疑的比其他任何属性都会频繁的导致(兼容性)上 的混乱和(开发者心理上)的挫败感.但滑稽的是,一旦你真正理解了Z-index,你会发现它却是一个非常容易使用的属性,并且会为解决很多l

scrapy中xpath、css用法

一.实验环境 1.Windows7x64_SP1 2.anaconda3 + python3.7.3(anaconda集成,不需单独安装) 3.scrapy1.6.0 二.用法举例 1.开启scrapy shell,在命令行输入如下命令: scrapy shell http://doc.scrapy.org/en/latest/_static/selectors-sample1.html 结果如下: 2.提取a节点 xpath中用法 result = response.xpath('//a')

深入了解CSS中盒子模型

原文:深入了解CSS中盒子模型 CSS中盒子模型介绍# 什么是盒子? 盒子是用来存储物品,我们可以将盒子理解为酒盒,酒盒有什么组成的呢? 有酒可以喝.有填充物保护酒防止酒被摔坏.纸盒子. 我们怎么理解CSS中的盒子呢,CSS中盒子有什么组成的呢?有内容.内边距.边框.外边距. CSS中盒子的主要属性有5种如:width宽度.height高度.padding内边距.border边框.margin外边距. CSS中盒子模型实践# CSS中盒子模型实践,给大家看看我们CSS中的盒子长什么样. 代码块

深入理解CSS中的层叠上下文和层叠顺序(转)

by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpress/?p=5115 零.世间的道理都是想通的 在这个世界上,凡事都有个先后顺序,凡物都有个论资排辈.比方说食堂排队打饭,对吧,讲求先到先得,总不可能一拥而上.再比如说话语权,老婆的话永远是对的,领导的话永远是对的. 在CSS届,也是如此.只是,一般情况下,大家歌舞升平,看不出什么差异,即所谓的众生平等.但是,当发生冲突发生纠葛的时

CSS中的层叠上下文和层叠顺序

copy @ from http://www.zhangxinxu.com 四.务必牢记的层叠准则 下面这两个是层叠领域的黄金准则.当元素发生层叠的时候,其覆盖关系遵循下面2个准则: 谁大谁上:当具有明显的层叠水平标示的时候,如识别的z-indx值,在同一个层叠上下文领域,层叠水平值大的那一个覆盖小的那一个.通俗讲就是官大的压死官小的. 后来居上:当元素的层叠水平一致.层叠顺序相同的时候,在DOM流中处于后面的元素会覆盖前面的元素. 在CSS和HTML领域,只要元素发生了重叠,都离不开上面这两个

[转]深入理解CSS中的层叠上下文和层叠顺序

http://www.zhangxinxu.com/wordpress/2016/01/understand-css-stacking-context-order-z-index/ 零.世间的道理都是想通的 在这个世界上,凡事都有个先后顺序,凡物都有个论资排辈.比方说食堂排队打饭,对吧,讲求先到先得,总不可能一拥而上.再比如说话语权,老婆的话永远是对的,领导的话永远是对的. 在CSS届,也是如此.只是,一般情况下,大家歌舞升平,看不出什么差异,即所谓的众生平等.但是,当发生冲突发生纠葛的时候,显