15.伸缩盒模型
1.伸缩盒模型简介
2009 年,W3C 提出了一种新的盒子模型 -- Flexible box (伸缩盒模型,又称: 弹性盒子)。
。它可以轻松的控制:元素分布方式、元素对齐方式、元素视觉顺序 ......
。截止目前,除了在部分IE 浏览器不支持,其他浏览器均已全部支持。
。伸缩盒模型的出现,逐渐演变出了一套新的布局方案-- flex 布局
小贴士:
传统布局是指: 基于传统盒状模型,主要靠: display 属性+ position 属性+ float 属性。
flex 布局目前在移动端应用比较广泛,因为传统布局不能很好的呈现在移动设备上。
伸缩盒模型容器与项目
伸缩项目:伸缩客器所有子元素自动成为了:伸缩项日。
1仅伸缩容器的子元素成为了伸缩项日,孙子元案、重孙子元案等后代,不是伸缩项目。
2.无论原来是哪种元案(块、行内块、行内) ,一旦成为了体缩项目,全都会”块状化”.
在开发者工具中computed中可以看到每个元素的属性
伸缩盒里的伸缩项目是按主轴的方向排列的。
/*伸缩盒模型相关属性-start */
/*将该元素变为了伸缩容器 (开启了flex布局) */
display: flex;
/*调整主轴方向,水平从左到右,默认 */
/* flex-direction: row; */
/*调整主轴方向,水平从右到左 */
/* flex-direction: row-reverse; */
/* 调整主轴方向,垂直从上到下 */
/* flex-direction: column; */
/* 调整主轴方向,垂直从下到上 */
flex-direction: column-reverse;
主轴与侧轴
主轴: 伸缩项目沿着主轴排列,主轴默认是水平的,默认方向是:从左到右(左边是起点,右边是终点)。
与主轴垂真的就是侧轴,侧轴默认是垂直的,默认方向是:从上到下 (上边是起点,下边是终点)。
主轴的方向
属性名:flex-direction:row;
常用值:
row 主轴方向水平方向从左到右(默认)
row-reverse 主轴方向水平方向从左到右
column 主轴方向垂直从上到下
column-reverse 主轴方向垂直从下到上
只能改变主轴的方向,主轴的方向默认和侧轴垂直,只要改变了主轴的方向,侧轴的方向也随之改变。
主轴换行方式
属性名:flex-wrap
常用值如下:
伸缩盒模型会根据剩余的空间和子元素的个数等情况安排子元素的分布位置。
高度塌陷相关学习
1
2
3
4
5
6
7
8
9