div的层叠顺序css

369 阅读1分钟
  1. 普通文档流中遵循:“后来者居上”。
  • 当两个元素都为块元素时,默认越后面的元素层级越高,但是背景的层级比文字小。后来的块元素 也盖不住前面的文字。
  • 当两个元素都为行内块和行内元素时,也是后来的元素比前面的元素层级高,但是与块元素不同的是行内块元素的背景层级比文字高。
  • 行内元素和行内块元素的层级比块级元素高。
  1. 浮动系列:
  • 浮动和浮动比,后一个比前一个层级高
  • 浮动和块元素比,浮动层级高
  • 浮动和行内块比,行内块层级高
  • 浮动和行内比,行内层级高
  1. 定位的元素:
  • 都为定位元素时,也遵循后一个元素比前一个元素高。
  • 绝对定位和块元素比,绝对定位层级高
  • 绝对定位和行内块元素比,绝对定位层级高
  • 绝对定位和行内元素比,绝对定位层级高
  • 绝对定位和浮动,绝对定位层级高。

总结:

层叠上下文(border/background)< 负z-index < block块状盒子 < 浮动的盒子 < inline/inline-block水平盒子 < z-index:auto 或者 z-index:0 < 正z-index(定位并设定了正的z-index值,z-index值越大 层级越高)
参考 www.cnblogs.com/chenshanyua…


1.  <!DOCTYPE html> 
1.  <html> 
1.  <head> 
1.  <meta charset="utf-8" /> 
1.  <title>div重叠 叠加实例 未排层叠顺序 www.divcss5.com</title> 
1.  <style> 
1.  .div-relative{[position](http://www.divcss5.com/rumen/r403.shtml):relative; color:#000; border:1px solid #000; [width](http://www.divcss5.com/rumen/r119.shtml):500px; [height](http://www.divcss5.com/rumen/r123.shtml):400px} 
1.  .div-a{ position:absolute; left:30px; top:30px; background:#F00width:200px; height:100px} 
1.  /* css注释说明: [背景](http://www.divcss5.com/rumen/r125.shtml)为红色 */ 
1.  .div-b{ position:absolute; left:50px; top:60px; background:#FF0width:400px; height:200px} 
1.  /* 背景为黄色 */ 
1.  .div-c{ position:absolute; left:80px; top:80px; background:#00F; width:300px; height:300px} 
1.  /* [DIV背景颜色](http://www.divcss5.com/rumen/r540.shtml)为蓝色 */ 
1.  </style> 
1.  </head> 
1.  <body> 
1.  <div class="div-relative"1.  <div class="div-a">我背景为红色</div> 
1.  <div class="div-b">我背景为黄色</div> 
1.  <div class="div-c">我背景为蓝色</div> 
1.  </div> 
1.  </body> 
1.  </html>