堆叠上下文
本文试着先解释一下堆叠顺序是什么,在引入堆叠上下文。 MDN上这样解释堆叠上下文: 层叠上下文是HTML元素的三维概念,这些HTML元素在一条假想的相对于面向(电脑屏幕的)视窗或者网页的用户的z轴上延伸,HTML元素依据其自身属性按照优先级顺序占用层叠上下文的空间。 平时我们浏览网页时,可以理解为从网页的正视图方向观看,理解堆叠上下文时,我们试着从侧视图的方向理解。方方老师说CSS的一个很重要的学习方法就是实验法,本文试着将所有的结论都有实验的依据。(祝福我吧,希望可以不看回放。。。) 首先,我们先思考一下,border和background的先后关系: <body> <div class="demo"></div> </body> <style> .demo{ width: 100px; height: 100px; border: 10px solid rgba(255,0,0,0.5); background: green; } </style> 效果图: 可见,background < border;接着,我们在父元素里加一个div,观察一下border和子元素div的关系: <body> <div class="parent"> <div class="child"></div> </div> </body> <style>