6) 布局
1. 浮动布局(x轴)
float:left
浮动元素:
1) 脱离文档流
2) 块元素的宽度不再是100%,由内容决定
3) 块元素不再支撑其父元素
4) 同一层次(兄弟关系)浮动元素会在一行排列,当浮动元素宽度总和大于父元素的时候会发生换行。
clear
清理浮动
left 不与左浮动元素在同一水平线上
right 不与右浮动元素在同一水平线上
2. 伸缩盒布局(x轴)
div.container > div
ul.container > li
1) 概念
伸缩盒容器 div.container 、ul.container
伸缩盒元素 div、li
主轴 默认主轴x轴,伸缩盒中,伸缩盒子元素沿着主轴来进行排列
交叉轴 与主轴垂直的轴
2) 规则
伸缩盒容器
display:flex;
强制让它的子元素沿着主轴方向中显示,并且子元素不会脱离文档流,交叉轴上元素的高度如果没有指定,应该和父元素保持一致。
flex-direction:row;
定义主轴方向,row 表示主轴是x轴,column表示主轴为y轴
flex-wrap:nowrap
当子元素的长度加起来超过主轴上的父元素的宽度,默认不换行,
align-items: stretch;
定义伸缩盒容器中的子元素在交叉轴上的排列方式
justify-content:space-around;
定义伸缩盒容器中的子元素在主轴上的排列方式
伸缩盒元素
flex-basic: 主轴上的基础长度(基本工资)
flex-grow: 主轴上剩余空间分配的份数(分红)
flex-shrink: 主轴上亏损空间的分摊份数(亏损)
3. 定位布局(z轴)
position:
static 静态(默认、非定位元素)
relative 相对(定位元素)
absolute 绝对(定位元素)
fixed 固定(定位元素)
sticky 粘滞(定位元素)
定位元素的特点: 可以使用定位规则。top right bottom left
1) 相对定位
1. 不脱离文档流
2. 相对于它原来所在位置移动
2) 绝对定位
1. 脱离文档流
2. 相对于距离它最近的父定位元素位置移动!如果所有的父元素都不是定位元素,相对于浏览器视口位置移动
一般情况下,绝对定位元素应该嵌套在相对定位元素内容来使用
3) 固定定位
1. 脱离文档流
2. 相对于浏览器视口进行定位
4) 粘滞定位
1. 在没有达到阈值的时候是不脱离文档流(相对),达到阈值脱离文档流(固定)
2. 通过left、top、right、bottom来设定阈值
定位布局的应用:
1. 二级栏目
2. 模态框
3. 特殊布局