元素层叠级别及z-index剖析

2008-07-25 10:15:15 css,元素,z-index,叠级别 DesignTimes网页教程 网友评论

一些问题的解释

怿飞版主在《z-index在IE中的迷惑》一文中最后提到的问题:

运行代码框

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

演示地址
http://rong179.blogbus.com/files/12163572440.html

分析

box1显示在body的下方,根据上面的stack level规则,IE中,如果body默认了一个位置属性,即body是其父级stacking context,box1应显示在其上方,事实却不是这样。而且当我们给body加上position:relative以后,显示效果和stack level规则一致。所以body并没有默认位置属性。

那为什么负值的定位元素在IE和FF下显示不一致呢?

ie 中根据stack level规则: z-index为负的定位元素的stack level比父级stacking context(此处是root stacking context)高,显示在其上方。故box1在ie中能显示。ff3.0和标准一致,也能显示。大家可以试一下。

ff2.0 中由于那条特殊的stack level,即 z-index为负的定位元素的stack level比父级stacking context(此处是root stacking context)低,所以显示在root stacking context下方。故不能看见。

另外,上面的代码中加上opacity那条后,在ff2.0中即可显示了。这又是什么原因呢?

推测:在火狐中如果给元素设置opacity属性(1除外),即会产生新的stacking context。

上面加上opacity属性后在ff2.0中可显示box1在body下,ff3.0box1在body上,(可以根据上面的stack level规则自己分析)符合推测。
在w3c的说明中也证明这点

In future levels of CSS, other properties may
    introduce stacking contexts, for example 'opacity'
    [CSS3COLOR].

总结

在一个stacking context中元素的z-轴显示顺序,由元素所处的 stack level 决定。对于同一stack level的定位元素由z-index的大小进一步决定显示次序。

  • ie中给元素设置position属性(static除外)可产生新的stacking context
  • ff中给元素设置opacity属性(1除外)可产生新的stacking context

除此之外(也许设置其他属性也会产生新的stacking context,但还不知道)只有定位元素设置了z-index(auto除外)才会产生新的stacking context,子元素将按照新的stacking context,定位。

相关文章/讨论:

  • z-index在IE中的迷惑
  • Elaborate description of Stacking Contexts
  • 负值z-index在IE中不再迷惑(怿飞前辈来看下)

经典论坛交流
http://bbs.blueidea.com/thread-2872952-1-1.html

 3/3   |‹ ‹‹ 1 2 3

TAGS:元素
昵称: 验证码: 验证码
  • 平面
  • 地产
  • 室内
  • 包装
  • 标志
  • 摄影
您当前的位置:首页 > 设计教程 > 网页教程

related links / 相关文章

  1. 页面设计之个性元素与共性元素
  2. eamo时尚元素插画设计
  3. 北京车展设计元素集结之前栅篇
  4. “欧迪芬”杯内衣元素设计赛启动
  5. 北京2008年残奥会形象元素
  6. 中式元素成都名片设计
  7. 郑州元素(100)吻别 画册欣赏
  8. 中国元素楼书设计

writer's articles / 作者其他文章

update / 栏目更新

  1. Web标准在中国
  2. JavaScript 拖放效果分析
  3. 焦点图片轮换第三季――iFocus
  4. 不间断滚动图片Javascript特效讲解
  5. IE 下 href 的 BUG
  6. 寻找圣杯
  7. 网页栅格系统研究:技术实现
  8. 网站重构到底是什么
  9. 基于display:table的CSS布局
  10. 用javascript修复浏览器中头痛问题

designers show / 设计秀

  1. 设计师Chatel创意广告欣赏
  2. Sommer平面广告设计作品欣赏(2)
  3. Sommer平面广告设计作品欣赏(1)
  4. Leon Rechter封面平面广告设计
  5. Jeep Wrangler 平面广告设计
  6. First Australians广告欣赏
  7. Linda 平面广告设计欣赏(1)
  8. DeLonghi电熨斗平面广告欣赏
  9. SONY walkman平面广告欣赏
  10. Linda 平面广告设计欣赏(2)

design edu / 设计教程