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

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

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

本文主要包含CSS,z-index等相关知识,吴钊 希望在学习及工作中可以帮助到您

z-index的重要性

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

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

W3C这样描述

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

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

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

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


顺序规则

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

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

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

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

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

201635113659818.gif (185×110)

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

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

201635113725062.gif (185×110)

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

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

201635113749540.gif (185×110)

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

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

参与规则

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

  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>  

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;).

  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>  

201635113905520.gif (185×160)

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

  • css小技巧
  • 各大网站CSS初始化代码
  • css权重问题
  • CSS实现鼠标上移图标旋转效果
  • 使用CSS3制作一个简单的进度条(demo)
  • 用纯CSS实现饼状Loading等待图效果
  • 利用CSS3伪元素实现逐渐发光的方格边框
  • CSS3实现内凹圆角的实例代码
  • 利用HTML5+CSS3实现3D转换效果实例详解
  • css3+伪元素实现鼠标移入时下划线向两边展开的效果

相关文章

  • 2017-08-06两种CSS3伪类选择器详细介绍
  • 2017-08-06用ASP.NET实现下载远程图片保存到本地的方法 保存抓取远程图片的方法
  • 2017-08-06基于链接关系的微格式 使用rel属性
  • 2017-08-06大小不固定的图片、多行文字的水平垂直居中实现方法
  • 2017-08-06在网页标题栏上和收藏夹显示网站logo的实现方法
  • 2017-08-06解决360双核浏览器兼容模式的页面显示问题
  • 2017-08-06网页制作 默认Web字体样式
  • 2017-08-06CSS 星级评价效果代码
  • 2017-08-06CSS3的first-child选择器实战攻略
  • 2017-08-06为平板电脑打造完美的网站页面的方法(图文教程)

文章分类

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

最近更新的内容

    • Div + CSS一些特效使div变成圆角、提交按钮的特效等等
    • CSS Border高级使用实例分享(三角等形状)
    • CSS命名规范参考及书写注意事项
    • CSS常用浏览器兼容调整小结
    • CSS3制作酷炫的三维相册效果
    • 填写表单的时候如何实现输入框里面字母大写转小写
    • 记住CSS中的10个“不要”
    • 什么是@font-face及font-face如何在css中使用
    • 移动Web—CSS为Retina屏幕替换更高质量的图片
    • ul里不能直接嵌套div(在ie7以前版本)

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

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