`

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

阅读更多
CSS 中  与 z-index 对层次结构影响 - 超越 - 我的博客

我的总结是要使用z-index就必须设置position:absolute

 

 

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

分享到:
评论

相关推荐

    div层调整z-index属性无效原因分析及解决方法

    在CSS中,z-index属性只能作用于定位元素,即那些position属性为relative、absolute或fixed的元素。当元素被设置为static时(也是position属性的默认值),其z-index属性将不会生效。这是因为在静态定位的元素上,...

    ie6中解决z-index

    2. 对于复杂的布局,使用`z-index`时保持层次结构清晰,将需要覆盖的元素设置更高的`z-index`。 3. 避免为不涉及堆叠顺序的元素设置`z-index`,这只会增加代码的复杂性。 4. 在处理跨浏览器的`z-index`问题时,利用...

    position:relative/absolute无法冲破的等级

    根据CSS层叠上下文的规则,`z-index`只有在元素的`position`属性被设置为`relative`、`absolute`或`fixed`时才有效。然而,在上述情况下,尽管`&lt;span&gt;`的`z-index`值远高于其父级`&lt;li&gt;`,仍然无法实现预期的层级关系...

    css3的transform造成z-index无效解决方案

    2. `position`值为`relative`、`absolute`或`fixed`的元素,且`z-index`不是`auto`。 3. `opacity`值小于1的元素(因为这些元素实际上被创建为一个匿名的层叠上下文容器)。 4. `display`值为`flex`、`inline-flex`...

    css层与层的重叠

    - 在嵌套的层中,子层的`z-index`属性仅相对于其父层有效,因此需要确保父层也有合适的`position`和`z-index`属性设置。 #### 五、实践案例 假设我们要在一个页面上放置两个层,其中一个层需要始终位于另一个层之...

    CSS单元的位置和层次-div标签

    ### CSS单元的位置与层次——div标签 在网页设计与开发领域中,CSS(层叠样式表)被广泛用于控制HTML元素的布局、样式以及位置。本文将深入探讨如何利用CSS来定位div标签,并掌握其中的关键概念和技术细节。 #### ...

    css z-index层重叠顺序使用介绍

    一、`z-index` 语法与结构 `z-index` 的语法相当简单,它接受一个整数值。例如: ```css div { z-index: 100; } ``` 请注意,`z-index` 不需要指定单位,它只接受整数或正数。数字越大,元素在视觉上越靠前。...

    如何使用纯CSS实现悬停时右移的按钮效果.docx

    z-index: -1; } nav li::before { height: 80%; top: 10%; left: -8px; } nav li::after { height: 60%; top: 20%; left: -14px; } ``` 5. **增加颜色层次感**: - 使用滤镜`filter`改变伪元素的亮度,以...

    用html和css实现雪花特效

    - **Z-index**:`z-index: 2;`,控制层叠顺序。 - **指针事件**:`pointer-events: none;`,忽略鼠标事件。 - **背景颜色**:`background-color: red;`,这里仅为示例,实际应用中可以根据需要更改颜色或使用透明...

    css圆角提示框.zip

    z-index: 1; bottom: 100%; left: 50%; margin-left: -60px; opacity: 0; transition: opacity 0.3s; } .tooltip:hover .tooltiptext { visibility: visible; opacity: 1; } ``` 在给定的压缩包中,"说明....

    CSS 3D弹性按钮

    CSS3中的3D变换让我们可以对元素进行立体空间的操作,如旋转、缩放、平移等。主要涉及的属性有`transform`、`perspective`和`transform-style`。 - `transform`:定义元素的2D或3D转换,例如`rotateX()`, `rotateY...

    用Js和css实现树状图

    在IT领域,尤其是在前端开发中,构建树状图是一种常见的需求,它用于展示层次结构的数据,比如文件系统、组织架构或者导航菜单等。本教程主要介绍如何使用JavaScript和CSS技术来实现一个简单的树状图。 首先,我们...

    Ej-z-index

    1. **只有定位元素才能设置z-index:** 首先,要应用`z-index`,元素必须有定位属性,如`position: absolute`, `position: relative`, 或 `position: fixed`。静态定位的元素(默认的`position: static`)不能设置`z-...

    Z-index_HTML-y-CSS_DO

    `z-index` 属性是CSS中的一个关键部分,属于盒模型的一部分,与`position`属性紧密相关。只有当元素的`position`值为`relative`、`absolute`或`fixed`时,`z-index` 才有效。默认情况下,所有元素都在同一层,没有...

    div分层

    1. 层叠顺序:在CSS中,z-index属性用于控制元素的堆叠顺序。具有更高z-index值的元素将覆盖z-index较低的元素,形成分层效果。默认情况下,未指定z-index的元素按照它们在HTML中的顺序进行分层。 ```css #element1 ...

    妙用z-index让一个div显示在最前面

    CSS(层叠样式表)是Web开发中用于描述网页外观和结构的一种标记语言,其中的`position`属性允许开发者将HTML元素定位到页面的特定位置。当页面上存在多个定位元素相互重叠时,可以通过`z-index`属性来控制这些元素...

    使png图片在网页中显示为透明

    &lt;img src="your_image.png" style="position: absolute; z-index: 0;"&gt; ``` 6. JavaScript解决方案: 如果以上方法无法满足需求,还可以借助JavaScript库如jQuery或纯JavaScript实现动态透明效果。例如,通过改变`...

    解决IE6下三级下拉菜单被select遮挡的问题.docx

    CSS中使用了`display: inline`和`float: left`来使菜单项水平排列,而`position: absolute`则用于实现下拉菜单的垂直定位。 关键的CSS选择器如`ul#navmenu li:hover ul`和`ul#navmenu li.iehover ul`用于在鼠标悬停...

    css-dictionary(CSS常用英语词汇详解)

    CSS中的`position:fixed`属性用于固定元素在视口中的位置,即使页面滚动也不会移动。 - **Four**: 四个。数量词,可用于描述CSS中的多个值,如`margin:10px 20px 30px 40px`。 - **GIF**: 一种图像格式。广泛用于...

Global site tag (gtag.js) - Google Analytics