CSS3 flex 伸缩布局盒模型
来源:互联网 发布:linux双系统启动顺序 编辑:程序博客网 时间:2024/05/14 09:32
CSS3引入一种新的布局模式-flexbox布局
1. 优点:flexbox布局在定义伸缩项目大小时伸缩容器会预留一些可用空间,可以调节伸缩项目的相对大小和位置。非常适用于排列方向改变,缩放与收缩用的比较多的项目。
2. 基本概念
由于flexbox并不只是个属性,而是一个模块,会有好多属性,以及重要的名词和概念,这里简要列举下。
a 主轴和侧轴:默认就是就是水平轴和垂直轴。但可以用justify-content属性进行修改。测轴就是与主轴垂直的方向。
b 主轴 主轴方向:伸缩项目都沿着主轴方向进行排列。
c 主轴长度:就是伸缩项目在主轴上的长度或高度(看你的轴是row 还是column)
侧轴就不赘述了,以此类推。
3. 功能:
- 对屏幕和浏览器大小的自适应性非常好
- 可以让内部项目沿着主轴获测轴按比例分配额外空间,进而调整伸缩项目的大小。
- 也可以将伸缩器的额外空间分配到伸缩项目的之前,之后,之间
- 控制元素在页面上的布局方向
- 可以将垂直于布局轴的方向上的额外空间分布到该元素周围
- 可以使项目不按照文档流的先后顺序排列。
1)伸缩流方向。是指伸缩容器的主轴方向,决定了伸缩项目放置在伸缩容器中的排列方向。主要通过flex-direction设置
2)伸缩行换行。控制当伸缩项目溢出时的换行方法.flex-wrap设置
3)伸缩方向与换行,上面两个的综合:flex-flow
4)主轴对齐,项目如何在伸缩容器中对齐方式。
5)侧轴对齐。与主轴类似,就是方向上是垂直的。
6)堆栈伸缩行。是控制伸缩项目行在布局轴的对方方式,有点像测轴对齐。
5.flex弹性布局
只要一个元素被声明为flex布局,它内部的所有元素的display都是flex的,flex中的模块宽高都是与内容大小适应的。
水平的主轴,垂直的交叉轴。flex容器内的元素默认按主轴排列
容器的属性:属性 解释 flex-direction项目的排列方向
可选值 含义 row(默认值)排列方式为水平排列,元素从左到右排row-reverse排列方式为水平排列,元素从右到左排column排列方式为垂直排列,元素从上到下排column-reverse排列方式为垂直排列,元素从下到上排
flex-wrap默认情况下,项目都排在一条线上,该属性定义了如果一条轴线排不开时,内部元素如何换行
可选值 含义 nowrap(默认值)不换行,让所有内部元素都挤在一行wrap换行,第一行在上wrap-reverse换行,第一行在下
flex-flow是flex-direction与flex-wrap的简写形式 默认值:row nowrapjustify-content定义项目在水平方向上的对齐方式。
可选值 含义 flex-start(默认)左对齐flex-end右对齐center居中space-between两端对其,项目中间的间隔都相等space-around每个项目两侧的间隔相等。项目之间的间隔为二倍
align-items定义项目在垂直方向上如何对齐,让人郁闷的垂直居中,可以用这个很easy实现
可选值 含义 flex-start上对齐flex-end下对齐center中点对齐,是内部每个模块在垂直方向上居中baseline第一行文字的基线对其,包含文字的框不一定对齐。stretch未设置高度的项目,将拉伸沾满整个容器,设了高度则无效
align-content也是对齐方式的一种,当垂直方向上有额外的空间时,来设置内部div位置。一般配合flex-wrap:wrap使用。 演示https://jsbin.com/jayuqufile/edit?html,css,output 可选值与justify-content一样,并多了stretch。含义的话,可以想象把原来的水平轴向右旋转90度然后进行排列。 默认值是stretch,占满整个交叉轴。测试地址:https://jsbin.com/zugudukahe/edit?html,css,output
flex中每个项目的属性。
属性 含义 order值为整数,越小,该项目应该排在轴上的最前面。默认为0。可以为负值flex-grow项目的放大比例。如果有剩余空间,则按比例放大。默认为0flex-shrink定义项目缩小的比例,默认为1,也就是如果空间不足,项目将缩小。如果不想让他缩,则设为0。负值无效。flex-basis定义项目分配空余空间前,该项目所占的主轴空间。默认为auto,本来的大小。flex是上面三个grow,shrink,basis的简写。默认 0 1 auto。auto(1 1 auto);none(0 0 auto)建议写这个,而不是写三个分开的属性。align-self允许他有自己的对齐方式。可覆盖align-iterms属性。如果没有父元素定义,则为stretch
- CSS3 flex 伸缩布局盒模型
- css3伸缩布局盒模型
- 伸缩盒(flex布局)
- css3学习笔记(一):伸缩布局盒模型flexbox
- CSS3弹性伸缩布局盒(Flexible Box)模型
- CSS3弹性伸缩布局(二)——flex布局
- CSS3弹性伸缩布局——flex布局
- Webkit Flex伸缩盒模型
- 响应式布局:CSS3弹性盒flex布局模型
- 响应式布局:CSS3弹性盒flex布局模型
- 响应式布局:CSS3弹性盒flex布局模型
- 图解CSS3核心技术与案例分析(第八章CSS3伸缩布局盒模型)
- 【CSS3】-伸缩布局盒模型实现 3列等高布局
- css3中 弹性盒模型布局之box-flex
- 【CSS3】伸缩布局
- CSS3弹性伸缩布局
- css3弹性伸缩布局
- CSS3-伸缩布局介绍
- app:compileDebugJavaWithJavac 解决方案
- hadoop生态系统组件目前的理解(先记录,有些地方理解不正确,后面修改)
- 学Android---布局(一)LinearLayout
- SSH——Spring 依赖注入
- 让函数返回数组
- CSS3 flex 伸缩布局盒模型
- convolutional neural network
- [Java并发包学习三]ThreadFactory介绍
- C++ fstream ifstream等文件操作
- 重命名USB磁盘挂载分区卷标
- 创业初期获取种子用户的7种方法
- mangos(一)概述与消息处理机制
- mystrcat.c
- [Java并发包学习四]Future和FutureTask