快速业务通道

CSS元素的层叠与z-index设置

作者 佚名技术 来源 CSS技术 浏览 发布时间 2012-03-04

  我们在文章的更新中,特别注重对新手的辅导,但webjx.com面对的是广大的开发人员,大家可能会遇到各种各样的问题,有些问题很不常见,或者应用的很少,但我们依然有必要学习更多的CSS布局知识与技术,以应对可能出现的复杂多变的CSS内外形势(挺汗)。今天这篇文章,主要介绍了元素的层叠与z-index设置,希望对您有所帮助,更多的知识,请多多参考webjx.com的教程。

声明

  定位元素:position属性值设置除默认值static以外的元素,包括relative,absolute,fixed。
  平台:win/IE win/FF

z-index:

  用来确定定位元素在垂直于显示屏方向(以下称为Z轴)上的层叠顺序


  值:   auto | 整数 | inherit
  默认:  auto
  适用于: 定位元素
  继承性: no

理解stacking context

  每个box都归属于一个stacking context,它是元素在z轴方向上定位的参考。根元素形成 root stacking context,其他stacking context由定位元素设置z-index为非auto时产生。如#div1{position:relative;z-index:0;}即可使 id=div1的元素产生stacking context。stacking context和 containing block 并没有必然联系。

理解stack level

  在一个stacking context中的每个box,都有一个stack level(即层叠级别,以下统一用stack level),它决定着在同一stacking context中每个box在z轴上的显示顺序。同一stacking context中,stack level值大的显示在上,stack level值小的显示在下,同一stack level的遵循后来居上的原则(back-to-front )。不同stacking context中,元素显示顺序以父级的stacking context的stack level来决定显示的先后情况。于自身stack level无关。注意stack level和z-index并不是统一概念。(将在后文慢慢理解)

stack level规则

  每个stacking context中可包含块级(block)元素、内联(行内inline)元素,还有设置float属性的元素、定位元素等等他们在同一父级 stacking context中的显示顺序是怎样的?即stack level是怎样的呢?比如一个块级元素和内联元素发生层叠的话谁会在上面呢?是不是谁在后面谁就在上面呢?

  根据w3c关于stack level的介绍可以得出以下stack level规则
  每个stacking context都包括以下stack level (后来居上):


  父级stacking context的背景、边界
  z-index值为负值的定位元素(值越小越在下)
  文本流中非定位的、block块级子元素
  文本流中非定位的、float浮动子元素
  仿

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号