• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >div/css > 详解CSS中的z-index属性在层叠布局中的用法

详解CSS中的z-index属性在层叠布局中的用法

作者:吴钊 字体:[增加 减小] 来源:互联网 时间:2017-06-02

本文主要包含css定位详解,css float详解,bootstrap css详解,css详解,css选择器详解等相关知识,吴钊 希望在学习及工作中可以帮助到您

z-index的重要性

在我看来,z-index 给了我们日常工作中以极大的帮助,我们用它来定义元素的层叠级别(stack level)。受益于它,你能做Popup, DropDown, Tips, 图文替换等等。

在开始本篇之前,或许我们要先了解一下关于z-index的基本信息。

W3C这样描述

每个元素都具有三维空间位置,除了水平和垂直位置外,还能在 "Z轴" 上层层相叠、排列。元素在 "Z轴" 方向上的呈现顺序,由层叠上下文和层叠级别决定。

在文档中,每个元素仅属于一个层叠上下文。元素的层叠级别为整型,它描述了在相同层叠上下文中元素在 "Z轴" 上的呈现顺序。

同一层叠上下文中,层叠级别大的显示在上,层叠级别小的显示在下,相同层叠级别时,遵循后来居上的原则,即其在HTML文档中的顺序。

不同层叠上下文中,元素呈现顺序以父级层叠上下文的层叠级别来决定呈现的先后顺序,与自身的层叠级别无关。


顺序规则

如果不对节点设定 position 属性, 位于文档流后面的节点会遮盖前面的节点.

</div>
  1. <div id="a">A</div>  
  2. <div id="b">B</div>  
</div> </div>

201635113637630.gif (185×110)
定位规则

如果将 position 设为 static, 位于文档流后面的节点依然会遮盖前面的节点浮动, 所以 position:static 不会影响节点的遮盖关系.

</div>
  1. <div id="a" style="position:static;">A</div>   
  2. <div id="b">B</div>  
</div> </div>

201635113659818.gif (185×110)

如果将 position 设为 relative (相对定位), absolute (绝对定位) 或者 fixed (固定定位), 这样的节点会覆盖没有设置 position 属性或者属性值为 static 的节点, 说明前者比后者的默认层级高.

</div>
  1. <div id="a" style="position:relative;">A</div>   
  2. <div id="b">B</div>  
</div> </div>

201635113725062.gif (185×110)

在没有 z-index 属性干扰的情况下, 根据这顺序规则和定位规则, 我们可以做出更加复杂的结构. 这里我们对 A 和 B 都不设定 position, 但对 A 的子节点 A-1 设定 position:relative. 根据顺序规则, B 会覆盖 A, 又根据定位规则 A' 会覆盖 B.

</div>
  1. <div id="a">   
  2.  <div id="a-1" style="position:relative;">A-1</div>   
  3. </div>   
  4. <div id="b">B</div>  
</div> </div>

201635113749540.gif (185×110)

上面互相覆盖在什么时候用到这样的实现? 看起来偏门, 其实很常用, 比如说, 电子商务网站侧栏的类目展示列表就可以用这个技巧来实现.

下图是某网站的类目展示区域, 二级类目的悬浮层覆盖一级类目列表外框, 而一级类目的节点覆盖二级类目的悬浮层. 如果使用 CSS 实现展示效果, 一级类目的外框相当于上面例子中的 A, 一级类目的节点相当于 A-1, 二级类目的悬浮层相当于 B.
201635113808487.jpg (600×270)

参与规则

我们尝试不用 position 属性, 但为节点加上 z-index 属性. 发现 z-index 对节点没起作用.

</div>
  1. <div id="a" style="z-index:2;">A</div>   
  2. <div id="b" style="z-index:1;">B</div>   
  3. <div id="c" style="z-index:0;">C</div>  
</div> </div>

201635113845149.gif (185×160)

W3C 对 z-index 属性的描述中提到 在 z-index 属性仅在节点的 position 属性为 relative, absolute 或者 fixed 时生效.

The z-index property specifies the stack order of an element. Only works on positioned elements(position: absolute;, position: relative; or position: fixed;).

</div>
  1. <div id="a" style="z-index:2;">A</div>   
  2. <div id="b" style="position:relative;z-index:1;">B</div>   
  3. <div id="c" style="position:relative;z-index:0;">C</div>  

您可能想查找下面的文章:

  • 详解CSS中的选择器优先级及样式层叠问题解决
  • 详解CSS中的z-index属性在层叠布局中的用法
  • CSS中的层分离编程详解

相关文章

  • 2017-06-02屏蔽双击选中文字的方法兼容FF及以外的浏览器
  • 2017-06-02div+css背景渐变色代码示例
  • 2017-06-02将一个DIV旋转的某一角度即90度/180度/270度及放大等问题
  • 2017-08-26手机移动端WEB资源总结
  • 2017-06-02CSS小技巧 导航中鼠标经过变换文字的实现代码
  • 2017-06-02通过绝对定位实现div重叠实例代码
  • 2017-06-02通过css属性margin:auto让Div中的Table居中
  • 2017-06-02如何用float配合position:relative实现居中
  • 2017-06-02css实现兼容火狐、IE的LI奇偶行颜色交替方法
  • 2017-06-02纯CSS3实现飘逸洒脱带有飞行效果的三级下拉菜单

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 浏览器跨平台使用div等标签盖住flash的另类实用解决方法
    • DIV实现简易漂浮层放置分页信息思路分享
    • 使用div+css布局过程中在什么时候使用table呢
    • div+css布局中选择使用html标签的方法
    • div+css制作圆角矩形的原理示例解读
    • div等浮层在IE6下被下拉框遮挡的解决方法
    • 纯CSS3实现飘逸洒脱带有飞行效果的三级下拉菜单
    • div 的边框显示不同效果示例代码
    • div的滚动条如何实现
    • div层被flash层遮盖问题解决思路

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有