该如何理解父元素设置position后不会覆盖img,而img的兄弟元素设置position后会覆盖img?如何从z-index层面理解?

来源:5-1 z-index与层叠上下文

薇笑的夏娃

2016-09-08 13:32

http://img.mukewang.com/57d0f75000013b0308630603.jpg

以上的代码,兄弟元素的设置position后会覆盖img好理解,该如何理解父元素设置position后不会覆盖img?设置position后不是相当于z-index:auto,类似层叠顺序z-index为0吗层叠顺序应该高于img啊?

写回答 关注

3回答

  • zzluyao
    2016-11-10 18:18:53

    一般的定位元素(z-index未设置,默认auto)是不会创建层叠上下文的。所以你的例子 父元素的背景当然就被子元素覆盖,而sisiter元素block当然就覆盖img元素(inline-block)。然后说下层叠上下文。层叠上下文只是针对子元素的。这样index数值是负数的时候就会显示在父元素背景之上!!

    582449660001358c05000291.jpg

    58244967000133a105000293.jpg

    582449680001995205000294.jpg


  • qq_醉眼朦胧_0
    2016-09-17 13:40:24

     z-index为auto的元素不参与层级关系的比较,由向上遍历至此且z-index不为auto的元素来参与比较。


  • 静_0002
    2016-09-08 15:18:24

    好像是设置了position之后,z-index才有效吧,如果有父元素的话,子元素和父元素有从属关系,由父元素的显示层次决定子元素的显示层次。

CSS深入理解之z-index

CSS技术大牛深入理解系列又一力作,z-index实践经验分享

40882 学习 · 31 问题

查看课程

相似问题