CSS 中 position:absolute 与 z-index 对层次结构影响
1. 不使用 position
这种情况下每一层都遵循 HTML 定位规则,其中的 left,right,top,bottom 定位信息对其无效,z-index 也不会发挥作用因为没有层叠的情况出现.
2. 使用 absolute
如两个绝对定位对象的 z-index 属性具有同样的值,那么将依据它们在HTML文档中声明的顺序层叠.
2.1 未使用 z-index
这种情况下,依据它们在HTML文档中声明的顺序层叠,因为 z-index 在未设置的情况下,默认为 0 .
<div id = "001" style="top:10; left:30; width:100px ;height:50px; border:1px solid #999; background:green; position:absolute;">001</div>
<div id = "002" style="top:40; left:40; width:100px ;height:50px; border:1px solid #999; background:red; position:absolute;">002</div>
<div id = "003" style="top:80; left:50; width:100px ;height:50px; border:1px solid #999; background:yellow;position:absolute;">003</div>
001:位于最底层
002:位于中间层
003:位于最高层
2.2 使用 z-index
z-index 为无单位的整数值,可为负数.按照数值的大小排列,数值越大,越在外层.
<div id = "001" style="top:10; left:30; width:100px ;height:50px; border:1px solid #999; background:green; position:absolute ;">001</div>
<div id = "002" style="top:30; left:40; width:100px ;height:50px; border:1px solid #999; background:red; position:absolute;z-index:1;" >002</div>
<div id = "003" style="top:50; left:20; width:100px ;height:50px; border:1px solid #999; background:yellow;position:absolute;z-index:-1;">003</div>
001:位于中间层
002:位于最高层
003:位于最底层
2.3 父子元素
对于父子元素,子元素的从属于父元素的层次,子元素在父层的上面
<div id = "001" style="width:100px ;height:50px; border:1px solid #999; background:green; position:absolute;z-index:1">001
<div id = "002" style="top:20; left:40; width:100px ;height:50px; border:1px solid #999; background:red;position:absolute;z-index:-1" >002</div>
</div>
<div id = "003" style="top:20; left:40; width:100px ;height:50px; border:1px solid #999; background:yellow;position:absolute;z-index:0" >003</div>
001:位于中间层
002:位于最高层
003:位于最底层
3. 混合使用 absolute
对于没有设置 position:absolute 属性的元素 不管 z-index 设置多少都为 0, 但低于 position:absolute 中 z-index:0 的元素
<div id = "001" style="top:30; left:30; width:100px ;height:50px; border:1px solid #999; background:green; position:absolute;">001</div>
<div id = "002" style="top:20; left:40; width:100px ;height:50px; border:1px solid #999; background:red;z-index:1" >002</div>
<div id = "003" style="top:20; left:40; width:100px ;height:50px; border:1px solid #999; background:yellow;position:absolute;z-index:-1" >003</div>
001:位于最高层
002:位于中间层
003:位于最底层
- 相关文章
- IE6的双倍边距BUG - 2008-06-29
- 2008.5.19-2008.5.21 让网站变灰沉痛哀悼地震遇难者 - 2008-05-19
- 百度空间的圆角矩形 - 2008-02-21
- 理解background-position属性 - 2008-02-19
- css兼容ie5.x及以下特殊写法hack - 2008-02-18
- 鼠标滑过显示横向下拉菜单 - 2008-01-21
- ie7空格的间距要比ie6/firefox/opera的都要大 - 2007-11-29
- 各浏览器有序列表样式的兼容研究 - 2007-10-27
- ie下容器1px高度的解决方案 - 2007-10-27
- 用css来定义table的样式 - 2007-10-11
- 上一篇:广告调用最后出来,兼容了firefox
- 下一篇:利用css控制透明背景png











