一个div的分层
盒模型中的背景
属性position
static(默认值)
relative(相对定位,相对自身)
(升起来,但不脱离文档流)
占的位置不变,显示的位置跟原来不同
- 使用场景
- 用于做位移(很少用)
- 用于给absolute元素做爸爸,给absolute当参照物
- 配合z-index
- z-index: auto默认值,不创建新层叠上下文
- auto计算出来的值是0,但不能写0
- 优先级:正>0>负
- z-index: 0/1/2
- z-index: -1/-2
- z-index: auto默认值,不创建新层叠上下文
经验
使用场景
- 脱离原来的位置,另起一层,比如对话框的关闭按钮
- 鼠标提示
- 配合z-index
经验
使用场景
- 烦人的广告
- 回到顶部按钮
- 配合z-index
- 经验
层叠上下文(有一个默认范围是包裹的范围内)
z-index不能为auto(除position: fixed可以为auto)
- 比喻
- 每个层叠上下文就是一个新的小世界(作用域)
- 这个小世界里面的z-index跟外界无关
- 处在同一个小世界的z-index才能比较
- 例子:http://js.jirengu.com/faliz/1/edit?html,css,output
- 哪些不正交的属性可以创建它
- MDN文档有写
- 需要记忆的有
- z-index=0
- flex
- opacity≠1(0.几的时候)
- transform(如transform:translateX(-1px);)
- white-space: nowrap;
浏览器如何展示hover内容?
点击butto属性,点击filter右边的:hov,里面的hoveropacity和background的区别
opacity指定不透明度,范围0-1,不为1时会把元素放入一个新的层叠上下文中
background只影响背景色
opacity影响border框里面所有东西(opacity可以创建一个层叠上下文)负z-index与层叠上下文
记住负z-index逃不出小世界,如果它的祖先也有z-index,那它不能藏在background下方
就是说里的元素z-index=-1不一定能逃出div,除非这个div没有层叠上下文
小世界:http://js.jirengu.com/modez/1/edit?html,css,output