CSS堆叠

举个例子:

 #a{
     position:relative;
     width:200px;
     height:80px;
     background:red;
   }
   #b{
     position:absolute;
     width:150px;
     height:50px;
     background:green;
     left:20px;
     top:20px;
     z-index:1;
   }
   #c{
     position:absolute;
     width:50px;
     height:100px;
     background:yellow;
     left:80px;
     top:0;
   }
 </style>
 <body>

   <div id="a">1          <!--默认z-index:auto;-->
     <div id="b">2</div>  <!--z-index:1;-->
   </div>
   <div id="c">3</div>    <!--默认z-index:auto;-->
 </body>

id为a,c的默认处于同一层叠层级,但由于c在a的后面,所以,3在1的上面。b的z-index:1;则2靠前。注意:position属性必须为relative、absolute或fixed才有效。如果不设置b的z-index,则2在1的前面,在3的后面。

如果设置了元素父级元素的层叠属性,则受影响。如果a元素的z-index为0;c元素的z-index的值为大于或等于a元素的z-index的值,则无论b元素的z-index值为多少b都处于c元素的下面。

 #a{
     position:relative;
     width:200px;
     height:80px;
     background:red;
     z-index:0;
   }
   #b{
     position:absolute;
     width:150px;
     height:50px;
     background:green;
     left:20px;
     top:20px;
     z-index:2;
   }
   #c{
     position:absolute;
     width:50px;
     height:100px;
     background:yellow;
     left:80px;
     top:0;
     z-index:0;
   }


再举个例子:<style>

   #a,#d{
   width:200px;
   height:200px;
   padding:10px;
   position:absolute;
   background:lightgrey;
   }
   #d{
   left:80px;
   top:80px;
   background:black;
   }
   #b,#e{
     width:100px;
     height:100px;
     text-align:right;
     position:absolute;
     z-index:20;
     background:red;
   }
   #e{
     left:10px;
     top:10px;
     z-index:2;
   }
   #c,#f{
     position:absolute;
     width:100px;
     height:100px;
     left:50px;
     top:50px;
     background:yellow;
     text-align:right;
     z-index:10;
   }
   #f{
    z-index:1;
   }

 </style>
 <body>

   <div id="a">            <!--不设置z-index属性,默认为z-index:auto;-->
     <div id="b">20</div>  <!--z-index=20-->
     <div id="c">10</div>  <!--z-index=10-->
   </div>

   <div id="d">            <!--不设置z-index属性,默认为z-index:auto;-->
      <div id="e">2</div>  <!--z-index=2-->
      <div id="f">1</div>  <!--z-index=1-->
   </div>

 </body>    

在同一个层叠上下文中,id为a与b的元素,它们的z-index:auto;所以它们处于同一个层。但由于b在a的后面,则b相对于a考前。id为c、d、e、f的元素处于同一层叠上下文,则的层叠顺序按照从大到小的顺序依次从前到后。一旦元素的父级元素设定了z-index的属性,则它们受父级元素层叠层次的影响。

时间: 2024-11-08 17:30:08

CSS堆叠的相关文章

采用CSS制作的图书堆叠

经典文件结构 html---CSS---JS HTML中内容: <div class="container isActive"> <div class="book"> <div class="book-paper"> <div class="book-paper-shadow"></div> </div> </div> <div clas

如何使用Flexbox和CSS Grid,实现高效布局

CSS 浮动属性一直是网站上排列元素的主要方法之一,但是当实现复杂布局时,这种方法不总是那么理想.幸运的是,在现代网页设计时代,使用 Flexbox 和 CSS Grid 来对齐元素,变得相对容易起来. 使用 Flexbox 可以使元素对齐变得容易,因此 Flexbox 已经被广泛使用了. 同时,CSS Grid 布局也为网页设计行业带来了很大的便利.虽然 CSS Grid 布局未被广泛采用,但是浏览器逐渐开始增加对 CSS Grid 布局的支持. 虽然 Flexbox 和 CSS Grid 可

CSS 巧用 :before和:after

前几天的晚上较全面的去看了下css的一些文档和资料,大部分的样式运用都没什么大问题了,只是有些许较陌生,但是也知道他们的存在和实现的是什么样式.今天主要想在这篇学习笔记中写的也不多,主要是针对:before和:after写一些内容,还有几个小样式略微带过的介绍下. 什么是:before和:after? 该如何使用他们? :before是css中的一种伪元素,可用于在某个元素之前插入某些内容. :after是css中的一种伪元素,可用于在某个元素之后插入某些内容. 下面我们先跑个简单的代码测试下效

HTML学习笔记(CSS)NO.3

css指层叠样式表 css样式表极大地提高了工作效率 属性选择器 selector{ property:value; } 如h1{ color:red; front-size:14px; } 选择器分组 如 h1,h2,h3{ color:red; } 将h1,h2,h3的标签属性设置成相同的属性 继承: 如 body{ color:red; } 派生选择器:通过依据元素在其位置的上下文关系来定义样式 id选择器:可以为有id的HTML元素指定特定的样式,以#来定义 目前比较常用的方式是id选择

CSS的四个核心概念

CSS(Cascading Style Sheet)层叠样式表,又称级联样式表,是一组格式设置规则,用来进行网页风格设计.通过使用CSS样式设置页面的格式,可将页面的内容与表现形式分离.页面内容存放在HTML文档中,而用于定义表现形式的CSS规则则存放在另一个文件中或HTML文档的某一部分,通常为文件头部分.将内容与表现形式分离,不仅可使维护站点的外观更加容易,而且还可以使HTML文档代码更加简练,缩短浏览器的加载时间. CSS的核心概念有四个:标准流.盒模型.position.float,它们

CSS属性

CSS样式属性 一.字体 1.font-family:Tahoma,Arial,"Hiragino Sans GB";字体,第一种字体不能显示时,用第二种字体 2.font-size:xx-small or 10px字体大小:绝对大小:xx-small.x-small.medium.large.x-large.xx-large.x-large.xx-l相对大小:large smaller 使用数字和度量单位绝对单位:px:显示器像素个数mm.cm.in:毫米 厘米 英寸,使用这类单位,

CSS Positioning(定位)

CSS Positioning(定位) position 属性指定了元素的定位类型. position 属性的四个值: static relative fixed absolute 元素可以使用的顶部,底部,左侧和右侧属性定位.然而,这些属性无法工作,除非是先设定position属性.他们也有不同的工作方式,这取决于定位方法. static 定位 HTML元素的默认值,即没有定位,元素出现在正常的流中. 静态定位的元素不会受到 top, bottom, left, right影响. fixed

CSS 定位 (Positioning) CSS 外边距合并 CSS 相对定位

CSS 定位 (Positioning) 属性允许你对元素进行定位. CSS 定位和浮动 CSS 为定位和浮动提供了一些属性,利用这些属性,可以建立列式布局,将布局的一部分与另一部分重叠,还可以完成多年来通常需要使用多个表格才能完成的任务. 定位的基本思想很简单,它允许你定义元素框相对于其正常位置应该出现的位置,或者相对于父元素.另一个元素甚至浏览器窗口本身的位置.显然,这个功能非常强大,也很让人吃惊.要知道,用户代理对 CSS2 中定位的支持远胜于对其它方面的支持,对此不应感到奇怪. 另一方面

CSS中position属性( absolute | relative | static | fixed )详解

我们先来看看CSS3 Api中对position属性的相关定义: static:无特殊定位,对象遵循正常文档流.top,right,bottom,left等属性不会被应用. relative:对象遵循正常文档流,但将依据top,right,bottom,left等属性在正常文档流中偏移位置.而其层叠通过z-index属性定义. absolute:对象脱离正常文档流,使用top,right,bottom,left等属性进行绝对定位.而其层叠通过z-index属性定义. fixed:对象脱离正常文档