移动web第四天
flex布局(重要)!!!!
移动端和PC端区别
PC端
1.定版心
2.页面中的元素宽高 几乎都是px单位!!定死大小
移动端
1.不会定版心
2.元素的大小很少使用px单位 都会用相对长度单位 (百分比单位 热门 vw vh未学) 屏幕越大 元素越大
早期的移动端布局
百分比布局也叫流式布局(宽度自适应,高度固定)
弊端:不够方便 一旦增加元素 对应的width代码需要重新计算
主流的移动端布局
flex布局 好用 方便 简单
flex布局也称 弹性布局 使用及变化(重要!!!!)
使用
设置父元素变成flex盒子 弹性布局
display:flex
使用后的变化
设置了flex的盒子 称之为父项
flex盒子里面的资源数 称之为子项
子元素(子项)具体变化
1不再区分 块级 行内 行内块 全部都可以设置宽度和高度
2子项 默认的宽度由内容撑开 高度等于父项的高度
3子项
使用浮动无效
使用定位,margin,transform都有效
4.默认情况下 子项的总宽度大于父项的宽度也不会换行,只会压缩自身的宽度。
对齐方式--justify-content
flex布局 存在 主轴 侧轴 (类似 excel)
1 主轴 = x轴 = 水平方向 默认 主轴 x轴
给父项添加的 父项中设置 主轴对齐方式
1 左对齐 flex-start
2 右对齐 flex-end
3 居中对齐 center
4 先两侧对齐,间隔存放 space-between; 快捷写法sb
5 间隔存放 - 两侧空间小于中间 space-around; 快捷写法sd
6 绝对平均 space-evenly; 快捷写法sv
2 侧轴 = y轴 = 垂直方向
1.单行对齐
align-items: center;
flex-start 上对齐
flex-end 下对齐
center 居中
2.多行对齐
align-content: flex-start;
flex-start 上对齐
flex-end 下对齐
center 居中对齐
space-between 上下对齐 中间平分空间
space-around 间隔 上下两侧小于中间
space-evenly 绝对平分
设置主轴方向
flex-direction:row;
row 默认值 从左到右
row-revese 从右到左
column(常用) 从上到下
column-revese 从下到上
flex换行(默认不换行 只会压缩子项宽度)
flex-wrap: wrap;
nowrap 不换行 默认值
wrap 换行
子项设置
1.设置子项占父项宽度(高度)的比例 flex
flex:1
2.设置子项自己在侧轴上的对齐方式
align-self:flex-start
flex-end
center
主轴方向row默认值情况下 默认的宽度由内容撑开 高度等于父项高度
主轴方向column情况下 默认的高度由内容撑开 宽度等于父项宽度