- position—设置定位方式
- top, right, bottom, left, z-index—设置元素位置
- 如果定位元素没有设置宽高,使用top right left等会拉伸元素
- z-index:元素在z轴的位置,默认值为0;
- z-index栈:
position
relative相对定
- 元素仍然在文档流中
- 元素参照物为元素本身原来的位置
- 最常用场景:改变层级和绝对定位元素的参照物
absolute
- 绝对定位元素为默认宽度为内容宽度
- 脱离文档流
- 绝对定位元素的定位元素是第一个定位祖先元素/根元素
<html>
。
fixed
- 默认宽度为内容宽度
- 脱离文档流
- 参照物是视窗
- 固定顶栏布局
布局–遮罩
position:fixed的参照物是视窗 z-index:999层级为最高
三行中间自适应布局
- 顶栏固定,底栏固定,中间自适应
- 核心代码
- 实例代码
代码中的top right bottom left 是为了扩展.body元素空间
float
当一个元素设置浮动属性时
1. 默认宽度为内容宽度
2. 脱离文档流
3. 向指定方向移动
4. float的元素在同一文档流中
5. float元素半脱离文档流,也就是说对元素,脱离文档流,对内容,在文档流。所以如图
flex弹性布局
flex container :弹性容器
flex item:在文档流中的子元素为弹性元素
方向
flex-direction
决定弹性元素排列方向flex-wrap
- flex-flow
- order
弹性
flex-basis
flex-basis:main-size |
设置flex item的初始宽高flex-grow
flex-grow:<number>
initial:0
为弹性元素分配剩余的空间,按照比例。
弹性元素大小为:flex-basis + flex-grow值/sum(flex-grow) *remain 剩余空间值;flex-shrink
flex-shrink:<number>
initial:1
让弹性元素平均分摊超出的空间,按照比例。
弹性元素大小为:flex-basis + flex-shrink值/sum(flex-shrink) *remain 负空间值;
flex样式简写
flex:<'flex-grow'> || <'flex-shrink'> ||<'flex-basis'>
- initial: 0 1 main-size;
对齐
justify-content
align-items
设置全部flex item在cross-axis方向上对齐方式
align-self
设置单个flex item在cross-axis方向上对齐方式