css中有很多反人类直觉的东西,所以在学css的过程中最大的乐趣不在于记住多少,而在于自己动手做实验,一步步颠覆你的直觉,初学css层叠上下文,做了一些简单的小实验一步步验证自己的想法。
broder
层级在background
之上,把broder
设置透明,可透过它看到background
的颜色。
内联元素层级在border
之上。
不管是兄弟还是儿子,块级元素的层级都是后来者居上,但内联元素始终在块级元素之上。
块级元素的内联元素也是后来者居上,蓝色红点是青色背景的内联元素,覆盖了之前块级元素的内联元素。
图中粉色边框黑色内联元素的是浮动元素,它的块级元素在所有块级元素之上,但是它的内联元素在所有内联元素之下。蓝色 > 黄色 > 黑色
下面一张图很好的展示了这些元素之间的层级关系。
灰色背景是浮动,和黑色背景是同级元素,层级应该是后来者居上(上图所示),但是在黑色背景上加position: relative
,浮动元素就跑到他下面去了(下图所示)。
两兄弟元素被position: relative
后且z-index:auto;
,它们的子元素position:absolute
后,它们之间的位置关系取决于z-index
值的大小,谁大谁在上,如果两个值相等则后来者居上。
两个兄弟元素被position: relative
定位后且z-index
值不为auto
,那么它们的子元素position:absolute
后的位置关系和z-index
的值没有关系,后来者居上。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。