CSS 元素定位的一些知识,包括 div 分层、positon 属性、层叠上下文。
一、div 分层
布局和定位的区别:布局是屏幕上的,定位是垂直于屏幕的
一个 div 的分层:内联元素、浮动元素、块级子元素、border、background
浮动元素脱离文档流:其实就浮起来一点点
二、position 属性
-
static -- 默认值,待在文档流里
-
relative -- 相对定位,升起来,但不脱离文档流
用于做位移(很少用)
用于给 absolute 元素做爸爸
配合 z-index
-
absolute -- 绝对定位,定位基准是祖先元素里的第一个非 static 元素
脱离原来的位置,另起一层,比如对话框的关闭按钮
鼠标提示
配合 z-index
-
fixed -- 固定定位,定位基准是 viewport(有诈)
广告
回到顶部按钮
配合 z-index
-
sticky -- 粘滞定位,结合相对定位和固定定位的特点
三、层叠上下文
每个层叠上下文就是一个新的小世界(作用域),这个小世界里面的 z-index 跟外界无关,处在同一个小世界的 index 才能比较
MDN 文档有写,哪些不正交的属性可以创建它,需要记忆的有 z-index / flex / opacity / transform
「资料来源:©饥人谷」