Welcome to the website navigation,本站只接受合法正规的企业网站,欢迎站长们提交你的网站获得展示和流量有任何问题请联系站长,欢迎大家加入本站。

                
提交网站
  • 网站:76083
  • 待审:5
  • APP:577
  • 文章:304416
  • 会员:56004
文字内链包年1000元 文字内链包年1000元 文字内链包年1000元 AI办公网站 AI绘画工具 AIchat

名站网址导航为大家提供关于网站网页设计设计相关的的教程知识。

  • 本篇文章具体介绍如下

z-index语法和应用5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

CSS Code 复制内容到剪贴板
  1. z-indexauto | <integer>  

z-index 接受的属性值为:关键字auto和整数,整数可以是负值(Firefox2.0及之前不支持负值)。5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

需要注意的是 z-index 虽然很给力,却只能应用于定位元素(即设置了 position 属性为非 static 值),其它情况下,z-index 将被忽略。5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

对于定位元素而言,z-index 意味着:5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

确定该元素在当前层叠上下文中的层叠级别。
确定该元素是否创建了一个新的局部层叠上下文。5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


创建层叠上下文5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

在规范中说明:当某个元素的 z-index 未显式定义或者被指定为 auto 时,该元素不会产生新的局部层叠上下文。也就是说它可以和兄弟,祖先,后辈元素处在同一个堆叠上下文中,它们被放在一起比较层叠级别,儿子可以盖住祖先,父亲也可以盖住儿子,儿子甚至可以越过祖先,盖住祖先的兄弟,在层叠上下文中,它们是并级的关系。来看这样一个例子 DEMO1: z-index与创建层叠上下文5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

值得高兴的是,大部分浏览器都实现了这个特性;不过在IE6/7下,不论 z-index 值是否被显式定义,都将产生新的局部层叠上下文,也就是说子元素不可以越过是定位元素的父亲,子元素都处在新创建的局部层叠上下文中,只能在内部进行层叠级别的比较。5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

深入浅出5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

某区域内有个浮层提示或者下拉菜单,于是可能需要遮住该区域之下的区域。5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

hTML5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

XML/hTML Code 复制内容到剪贴板
  1. <div class="a">  
  2.     ...   
  3.     <div class="tips">我是一个简陋的浮层提示</div>  
  4. </div>  
  5. <div class="b">  
  6.     ...   
  7. </div>  

CSS5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

CSS Code 复制内容到剪贴板
  1. .a{position:relative;}   
  2. .tips{position:absolute;z-index:99;}  

如上hTML/CSS具体代码,很显然,浮层 tips 将可以覆盖在其父级元素 a 的兄弟元素 b 之上。5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

于是你的意图得到实现,效果如下图:
5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

不过很显然,你依然无法准确的判断出在各浏览器下,tips 能盖住 b 是因为其父级的定位还是本身的定位。5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

但是我们可以做这样一个测试,我们让 b 也拥有定位,Code如下:5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

CSS5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

CSS Code 复制内容到剪贴板
  1. .a{position:relative;}   
  2. .tips{position:absolute;z-index:99;}   
  3. .b{position:relative;}  

这段具体代码run完之后,就比较纠结了,你能得到的效果将会如下:
5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

首先,我们来解读一下这个例子:因为 a 和 b 都是 relative 且没有定义 z-index (等同于z-index:auto),根据后来居上的原则,此时 b 的层叠级别是要高于 a 的,意思就是说 a 是无法遮住 b 的。不过从 DEMO3 中,我们看到 a 的子元素 tips 遮住了 b,这就表示 tips 能越过它,所以可以判断出 a 没有创建新的局部层叠上下文。很明显,这是完全吻合标准对此的定义。5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

不过这是在非IE6/7之下结果。在IE6/7下,我们看到 tips 并没能遮住 b,也就是说 tips 无法越过父级,因为 a 创建了新的局部层叠上下文,而 a 的层叠级别又比 b 低,所以 tips 无法遮住 b,这也就是在IE6/7下常出现覆盖Bug的根源。5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

能得出以下结论:5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

当定位元素没有显式定义z-index值时,不会创建新的局部层叠上下文
子元素有可能和祖先的兄弟或者祖先兄弟的子元素处在同一个层叠上下文中
在实际工作中,有些情况可能是你没注意或者已然存在的。比如你事先可能并不知道 b 也是定位元素,或者由于某些原因,你需要将其设置为定位元素,于是可能出现各种兼容问题。如果你不了解 z-index 是如何创建局部层叠上下文,且又没注意到IE6/7的实现错误,那么处理起这样的问题将会让你深陷泥潭。5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

所以在实际的场景中,如果是为了相互覆盖而设置为定位,那么显式的定义 z-index 值,将可避免出现创建新局部层叠上下文差异。5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

如果需要越过祖先和其它区块内部元素进行相互层叠,那么考虑IE6/7的情况,也应该尽量避免给父级元素进定位。5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

opacity与层叠上下文5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

我们知道 opacity 属性是用来设置元素不透明度的。但可能知道 opacity 和层叠上下文有关的不多,不过没关系,这里我们简单聊聊这个话题,有两点必须注意:5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

当opacity值小于1时,该元素会创建新的局部层叠上下文,也就是说它可以和定位元素进行层叠层别比较
当opacity值小于1时,该元素拥有层叠级别且相当于z-index:0或auto,但不能定义 z-index ,除非本身是定位元素
简单来说,当一个普通的元素定义了 opacity 的值小于1时(比如 opacity:.5),那么该元素的层叠级别将会高于普通元素,其效果类同于定位元素没有显式定义 z-index 的情况,唯一的区别是没有显式定义 z-index 的定位元素不会产生局部层叠上下文,而定义了 opacity 值小于1的元素会产生新的局部层叠上下文。5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

opacity猜想5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

假定我们有 a, b, c 三个元素,它们相互层层覆盖在一起,如果这时将 a 元素定义为 opacity:.8,你知道结果会怎样吗?5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

hTML5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

XML/hTML Code 复制内容到剪贴板
  1. <div class="a">a</div>  
  2. <div class="b">b</div>  
  3. <div class="c">c</div>  

CSS5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

CSS Code 复制内容到剪贴板
  1. .a,.b,.c{width:100px;height:100px;}   
  2. .a{opacity:.8;background:#999;}   
  3. .b{margin:-70px 0 0 30px;background:#090;}   
  4. .c{margin:-70px 0 0 60px;background:#f00;}  

如果你看明白了我对于 opacity 与层叠上下文的描述,相信你可以猜到结果,是的,a 元素将会覆盖 b 和 c 元素,虽然它在hTML文档中出现在 b 和 c 之前,且不是定位元素。5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

必须看看具体的示例不是么?DEMO4: opacity与局部层叠上下文猜想。5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

如果我们将 b 和 c 设置为定位元素,又将会如何呢?5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

CSS5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

CSS Code 复制内容到剪贴板
  1. .a,.b,.c{width:100px;height:100px;}   
  2. .a{opacity:.8;background:#999;}   
  3. .b{position:relative;margin:-70px 0 0 30px;background:#090;}   
  4. .c{position:relative;margin:-70px 0 0 60px;background:#f00;}  

不急,我们可以接着看示例 DEMO5: opacity与局部层叠上下文猜想2。5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

当一个普通元素定义了 opacity 为小于1的值时,该元素将像定位元素一样拥有层叠级别,可以覆盖普通元素,并且其层叠级别与未显式定义 z-index 的定位元素一样。5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

opacity创建局部层叠上下文5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

与未显式定义 z-index 的定位元素唯一不同的是 opacity 值小于1的元素会创建局部层叠上下文。5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

创建局部层叠上下文意味着什么,前文我们已经详述过。所以不再赘述,这里只给一个示例用以验证该特性。先奉上具体代码:5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

hTML5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

XML/hTML Code 复制内容到剪贴板
  1. <div class="a">a   
  2.     <div class="d">d</div>  
  3. </div>  
  4. <div class="b">b</div>  
  5. <div class="c">c</div>  

CSS5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

CSS Code 复制内容到剪贴板
  1. .a,.b,.c,.d{width:100px;height:100px;}   
  2. .a{opacity:.8;background:#999;}   
  3. .b{position:relative;margin:-70px 0 0 30px;background:#090;}   
  4. .c{position:relative;margin:-70px 0 0 60px;background:#f00;}   
  5. .d{position:absolute;z-index:99;height:50px;background:#090;}  

你会发现虽然 a 的子元素 d 将 z-index 定义为99,但 d 仍然无法遮住 b 和 c 元素,这是因为 a 创建了新的局部层叠上下文,d 元素无法超越父级。5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

需要注意的是,此时就算 a 元素变成了定位元素,也不能改变其会创建新局部层叠上下文的命运,因为他设置了 opacity:.8。5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

按照我们前文所说,如果 a 没有定义 opacity:.8 ,但却像 b 和 c 元素一样设置了 relative,那么其子元素 d 将可以覆盖 b 和 c,至于这个例子就不再奉上了,大家随便写个测试一下即可。5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

WEB标准教程:功能丰富的段落P标签5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

5ZiAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

好了关于网站网页设计设计相关的这篇文章就给大家介绍到这里不明白的地方给本站留言。声明,本站内容来源于互联网,如果侵犯了你的权益请联系本站删除。,CSS,z-index

标签:CSSz-index

分享到:

  admin

注册时间:

网站:0 个   APP:3 个  文章:0 篇

  • 76083

    网站

  • 577

    APP

  • 304416

    文章

  • 56004

    会员

赶快注册账号,推广您的网站吧!
文章分类
热门网站
最新入驻APP小程序

宝贝市场2023-02-08

宝贝市场——买手和卖家商品展示

夺宝助手2023-02-08

夺宝助手小程序,查看每日快夺宝平

查诚信2023-02-08

查诚信是一款免费的商业查询工具

车价天天报2023-02-08

快速连接汽车销售,获知汽车最新报

考勤助理小程序2023-02-08

上班签到考勤,实时定位,后台轻松

汽车报价大全查询2023-02-08

汽车报价大全查询提供最新汽车市