记录弹性布局的学习总结
弹性布局的属性:
- display:flex | inline-flex;(适用于父类容器上)
两种方式的不同之处在于一个纵向排列,一个横向排列,如下图
- flex-folw (适用于父类容器上)复合属性。就是可以同时设置以下两个值
一。 flex-direction (适用于父类容器的元素上):设置或检索伸缩盒对象的子元素在父容器中的位置。如果元素的大小超过父容器,元素则会平均铺满盒子,而不溢出
1) row:横向从左到右排列(左对齐),默认的排列方式。
2)row-reverse:反转横向排列(右对齐,从后往前排,最后一项排在最前面)
3)column:纵向排列
4)column-reverse 反转纵向排列,
二。 flex-wrap (适用于父类容器上)设置或检索伸缩盒对象的子元素超出父容器时是否换行。
flex-wrap: nowrap|wrap|wrap-reverse|initial|inherit;
属性值
值 | 描述 |
---|---|
nowrap | 默认值。规定灵活的项目不拆行或不拆列。当子元素溢出父容器时不换行。 |
wrap | 规定灵活的项目在必要的时候拆行或拆列。当子元素溢出父容器时自动换行 |
wrap-reverse | 规定灵活的项目在必要的时候拆行或拆列,但是以相反的顺序。当子元素溢出父容器时自动换行,方向同wrap反转排列 |
initial | 设置该属性为它的默认值。请参阅 initial。 |
inherit | 从父元素继承该属性。请参阅 inherit。 |
-
justify-content(适用于父类容器上)设置或检索弹性盒子元素在主轴方向上的对齐方式。
CSS 语法
justify-content: flex-start|flex-end|center|space-between|space-around|initial|inherit;
属性值
值 | 描述 | |
---|---|---|
flex-start | 默认值。项目位于容器的开头。与起始位置对齐 | |
flex-end | 项目位于容器的结尾。与结束位置对齐 | |
center | 项目位于容器的中心。中间位置对齐 | |
space-between | 项目位于各行之间留有空白的容器内。平均分配 | |
space-around | 项目位于各行之前、之间、之后都留有空白的容器内。平均分配,两端保留子元素与子元素之间间距大小的一半 | |
initial | 设置该属性为它的默认值。请参阅 initial。 | |
inherit | 从父元素继承该属性。请参阅 inherit。 |
-
align-item:(适用于父类容器上)设置或检索弹性盒子元素在侧轴方向上的对齐方式。
CSS 语法
align-items: stretch|center|flex-start|flex-end|baseline|initial|inherit;
属性值
值 | 描述 | |
---|---|---|
stretch | 默认值。元素被拉伸以适应容器。 如果指定侧轴大小的属性值为'auto',则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照'min/max-width/height'属性的限制。 | |
center | 元素位于容器的中心。 弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。 | |
flex-start | 元素位于容器的开头。 弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。 | |
flex-end | 元素位于容器的结尾。 弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。 | |
baseline | 元素位于容器的基线上。 如弹性盒子元素的行内轴与侧轴为同一条,则该值与'flex-start'等效。其它情况下,该值将参与基线对齐。 | |
initial | 设置该属性为它的默认值。请参阅 initial。 | |
inherit | 从父元素继承该属性。请参阅 inherit。 |
-
align-self(适用容器的子元素)
用法同上,只是这个是子元素适用,单独设置一个元素的对齐方式
align-self 属性定义flex子项单独在侧轴(纵轴)方向上的对齐方式。
CSS 语法
align-self: auto|stretch|center|flex-start|flex-end|baseline|initial|inherit;
属性值
值 | 描述 | |
---|---|---|
auto | 默认值。元素继承了它的父容器的 align-items 属性。如果没有父容器则为 "stretch"。 | |
stretch | 元素被拉伸以适应容器。 如果指定侧轴大小的属性值为'auto',则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照'min/max-width/height'属性的限制。 | |
center | 元素位于容器的中心。 弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。 | |
flex-start | 元素位于容器的开头。 弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。 | |
flex-end | 元素位于容器的结尾。 弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。 | |
baseline | 元素位于容器的基线上。 如弹性盒子元素的行内轴与侧轴为同一条,则该值与'flex-start'等效。其它情况下,该值将参与基线对齐。 | |
initial | 设置该属性为它的默认值。请参阅 initial。 | |
inherit | 从父元素继承该属性。请参阅 inherit。 |
-
align-content(适用于父类容器上)设置或检索弹性盒堆叠伸缩行的对齐方式。
提示:使用 justify-content 属性对齐主轴上的各项(水平)。
注意:容器内必须有多行的项目,该属性才能渲染出效果。
CSS 语法
align-content: stretch|center|flex-start|flex-end|space-between|space-around|initial|inherit;
默认值
值 | 描述 |
|
---|---|---|
stretch | 默认值。元素被拉伸以适应容器。 各行将会伸展以占用剩余的空间。如果剩余的空间是负数,该值等效于'flex-start'。在其它情况下,剩余空间被所有行平分,以扩大它们的侧轴尺寸。 | |
center | 元素位于容器的中心。 各行向弹性盒容器的中间位置堆叠。各行两两紧靠住同时在弹性盒容器中居中对齐,保持弹性盒容器的侧轴起始内容边界和第一行之间的距离与该容器的侧轴结束内容边界与第最后一行之间的距离相等。(如果剩下的空间是负数,则各行会向两个方向溢出的相等距离。) | |
flex-start | 元素位于容器的开头。 各行向弹性盒容器的起始位置堆叠。弹性盒容器中第一行的侧轴起始边界紧靠住该弹性盒容器的侧轴起始边界,之后的每一行都紧靠住前面一行。和justfy-content不同的是align-content把多出的空白部分清除,不填满容器 | |
flex-end | 元素位于容器的结尾。 各行向弹性盒容器的结束位置堆叠。弹性盒容器中最后一行的侧轴起结束界紧靠住该弹性盒容器的侧轴结束边界,之后的每一行都紧靠住前面一行。 | |
space-between | 元素位于各行之间留有空白的容器内。 各行在弹性盒容器中平均分布。如果剩余的空间是负数或弹性盒容器中只有一行,该值等效于'flex-start'。在其它情况下,第一行的侧轴起始边界紧靠住弹性盒容器的侧轴起始内容边界,最后一行的侧轴结束边界紧靠住弹性盒容器的侧轴结束内容边界,剩余的行则按一定方式在弹性盒窗口中排列,以保持两两之间的空间相等。 | |
space-around | 元素位于各行之前、之间、之后都留有空白的容器内。 各行在弹性盒容器中平均分布,两端保留子元素与子元素之间间距大小的一半。如果剩余的空间是负数或弹性盒容器中只有一行,该值等效于'center'。在其它情况下,各行会按一定方式在弹性盒容器中排列,以保持两两之间的空间相等,同时第一行前面及最后一行后面的空间是其他空间的一半。 | |
initial | 设置该属性为它的默认值。请参阅 initial。 | |
inherit | 从父元素继承该属性。请参阅 inherit。 |
- order(适用于弹性盒模型容器子元素)用整数值来定义排列顺序,数值小的排在前面,可以为负值
定义和用法
order 属性 设置或检索弹性盒模型对象的子元素出现的順序。值越小越靠前。
注意:如果元素不是弹性盒对象的元素,则 order 属性不起作用。
CSS 语法
order: number|initial|inherit;
属性值
值 | 描述 |
---|---|
number | 默认值是 0。规定灵活项目的顺序。 |
initial | 设置该属性为它的默认值。请参阅 initial。 |
inherit | 从父元素继承该属性。请参阅 inherit。 |
-
flex(适用于弹性盒模型子元素)复合属性,设置或检索伸缩盒对象的子元素如何分配空间。
定义和用法
flex 属性用于设置或检索弹性盒模型对象的子元素如何分配空间。
flex 属性是 flex-grow、flex-shrink 和 flex-basis 属性的简写属性。
注意:如果元素不是弹性盒模型对象的子元素,则 flex 属性不起作用。
CSS 语法
flex: flex-grow flex-shrink flex-basis|auto|initial|inherit;
属性值
值 | 描述 |
---|---|
flex-grow | 一个数字,规定项目将相对于其他灵活的项目进行扩展的量。平均分配扩充的占比, |
flex-shrink | 一个数字,规定项目将相对于其他灵活的项目进行收缩的量。缩减的占比 |
flex-basis | 项目的长度。合法值:"auto"、"inherit" 或一个后跟 "%"、"px"、"em" 或任何其他长度单位的数字。 |
auto | 与 1 1 auto 相同。 |
none | 与 0 0 auto 相同。 |
initial | 设置该属性为它的默认值,即为 0 1 auto。请参阅 initial。 |
inherit | 从父元素继承该属性。请参阅 inherit。 |