css叠放顺序,解析CSS 中元素的叠放顺序

当不包含z-index属性和position属性时,所有元素的叠放顺序与其所在HTML文档中出现的先后顺序一致。(使用负margin来重叠内联元素的特例除外。)

当元素浮动float时,浮动块元素被放置于非定位块元素与定位块元素之间,换句话讲,浮动元素显示在普通流中的后代块元素之上,常规流中的后代行内元素之下。

元素加入position位置属性时,所有具有position属性的元素及其子元素会显示在其他不具有position属性的元素上面。

z-index只在设置了position属性的元素上有效,没有position属性的元素上的z-index属性均不生效。

z-index属性产生堆叠上下文拥有共同父元素的一组元素共同前移或者后移构成了一个堆叠上下文。每个堆叠上下文有一个单一的根元素,当元素上形成一个新的堆叠上下文时,堆叠上下文中的所有子元素按照堆叠顺序被局限在一个固定的区域内。一个堆叠上下文构成一个整体,其内部元素有相对不同的堆叠顺序,但与其他堆叠上下文比较时,只能整体上移或者下移。

通俗的讲,如果某个元素被置于其所在堆叠上下文的最底层,是没有办法让他显示在另一个拥有更高层的堆叠上下文元素之上的,哪怕将其z-index设置为无限大。

堆叠上下文的构成规则文档的根元素

元素拥有position属性(除static属性之外),同时设置了为auto的z-index属性。

元素拥有opacity属性,且取值小于1。

一些新的css属性,如filter、css-regions等需要离屏渲染的属性,均能使元素形成堆叠上下文。

指定position:fixed的元素,技术z-index为auto

同一堆叠上下文内子元素的堆叠顺序

从底到上(root < -index < index-aotu < +index < position):堆叠上下文的根元素。

设置了position属性,并且z-index为负的元素及其子素,z-index值较大的元素置于较小元素之上,同等属性值的元素按照html中出现的先后顺序堆叠。

没有设置position的元素。

设置了position属性,并且z-index属性为auto的元素.

设置了position属性,并且z-index属性为正值的元素。

不同堆叠上下文的情况堆叠上下文可以嵌入其他堆叠上下文。

每个堆叠上下文和他的统计上下文是独立的。

堆叠上下文中子元素按照前述顺序摆放。

堆叠上下文内部的子堆叠上下文的z-index只在父堆叠上下文中有意义。

多么深奥 鲜为人至的知识领域 慢慢在实践中应用总结呗!

【相关推荐】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值