CSS 中 position:absolute 与 z-index 对层次结构影响

css

不使用 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:位于最底层

时间: 2024-11-02 00:55:39

CSS 中 position:absolute 与 z-index 对层次结构影响的相关文章

CSS中position属性之fixed实现div居中_javascript技巧

position 属性规定元素的定位类型.这个属性定义建立元素布局所用的定位机制.任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型.相对定位元素会相对于它在正常流中的默认位置偏移. 上下左右 居中 div{ position:fixed; margin:auto; left:0; right:0; top:0; bottom:0; width:200px; height:150px; } 如果只需要左右居中,那么把 bottom:0; 或者 top:0; 删掉即

CSS 有关Position = absolute (绝对定位 是相对于谁而言)

  CSS 有关Position = absolute (绝对定位 是相对于谁而言) css中有绝对定位法,以前一直搞不懂绝对定位是相对于谁而言的绝对定位.   现在搞清楚了,不是相对于父元素,也不是相对于BODY.   而是相对于所属元素树中,相邻最近的那个显示标识了position属性的元素.   比如   <div id="a" style="position:relative">  <div id="b">    

css中position相对定位和绝对定位(relative,absolute)详解

在CSS中有这样的一个指令:(position) 在DW中文版中翻译为"定位",常用的属性有relative(相对)与 absolute(绝对). 有很多朋友对这条指令的用法还是不清楚,这里做一定细致的讲解: position:relative; 表示相对定位,被定位了这个属性的标签在所属的范围内可以进行上下左右的移,这里的移动与padding或是margin所产生的位置变化是不一样的.padding与margin是元素本身的一种边距与填充距离并不是真正的移动,而被定义为relativ

解决CSS的position:absolute中left效果

有时候css中设置了position:absolute,left:100px,但是如果我们不想要这个left怎么办呢,当然你直接删除就可以,但是如果是框架的css,你直接删除就有问题了,这时候该怎么办呢?解决办法很简单,你只要再定义一个class然后设置 left:auto就可以,是不是很简单,你现在就可以试试!!!

举例详解CSS中position属性的使用

  position 这个属性决定了元素将如何定位.它的值大概有以下五种: 每个网页都可以看成是由一层一层页面堆叠起来的,如下图所示. position 设置为 relative 的时候,元素依然在普通流中,位置是正常位置,你可以通过 left right 等移动元素.会影响其他元素的位置. 而当一个元素的 position 值为 absolute 或 fixed 的时候,会发生三件事: 把该元素往 Z 轴方向移了一层,元素脱离了普通流,所以不再占据原来那层的空间,还会覆盖下层的元素. 该元素将

CSS中绝对定位absolute和相对定位relative详解

一.position语法与结构 position语法: position : static absolute relative position参数: static : 无特殊定位,对象遵循HTML定位规则 absolute : 将对象从文档流中拖出,使用left,right,top,bottom等属性进行绝对定位.而其层叠通过css z-index属性定义.此时对象不具有边距,但仍有补白和边框 relative : 对象不可层叠,但将依据left,right,top,bottom等属性在正常文

css中position:fixed实现div居中

上下左右 居中  代码如下 复制代码 div{     position:fixed;     margin:auto;     left:0;     right:0;     top:0;     bottom:0;     width:200px;     height:150px; } 如果只需要左右居中,那么把 bottom:0; 或者 top:0; 删掉即可 如果只需要上下居中,那么把 left:0; 或者 right:0; 即可 下面附一个DIV 元素在浏览器窗口居中 其实,实现这

CSS中position:fixed的使用笔记

做开发几年了,在前端开发中,竟然没有留意position:fixed的用法. 我们都知道CSS中定位属性position的值,除了默认的值外,还有absolute,relative和fixed.我平时比较常用absolute和relative,而position:fixed却没多关注.或许是因为当初在CSS中文手册中看到position:fixed旁边有说明"IE5.5及NS6尚不支持此属性"吧. 昨天,在做一个项目时需要使一个层相对于浏览器边框固定,那时用position:absol

css中position fixed固定指定位置

们都知道CSS中定位属性position的值,除了默认的值外,还有absolute,relative和fixed.我平时比较常用absolute和relative,而position:fixed却没多关注.或许是因为当初在CSS中文手册中看到position:fixed旁边有说明"IE5.5及NS6尚不支持此属性"吧. 前段时间,在做一个项目时需要使一个层相对于浏览器边框固定,那时用position:absolute试了下,发觉absolute是对网页边框而言的.后来,上网查了一些根据