发表于: 2018-06-16 23:33:41
2 572
今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了Margin)
了解了 flex( 3 1 60%);代表省略的三个值
display:-webkit-flex; [指定伸缩容器]
-webkit-flex: none | [flex-grow flex-shrink || flex-basis] | initial | auto
取值: none:在任何情况下都不会发生伸缩
flex-grow:扩展比率
flex-shrink:收缩比率
flex-basis:伸缩基准值
flex-basis:伸缩基准值明天计划的事情:(一定要写非常细致的内容)
周末就练习一下flex盒子模型
遇到的问题:(遇到什么困难,怎么解决的)
不知道flex怎么划分区域 现在学到了 还衍生了很多实际例子多练手,
以下6个属性设置在容器上。
- flex-direction
- flex-wrap
- flex-flow
- justify-content
- align-items
- align-content
3.1 flex-direction属性
flex-direction
属性决定主轴的方向(即项目的排列方向)。
.box { flex-direction: row | row-reverse | column | column-reverse;}
它可能有4个值。
row
(默认值):主轴为水平方向,起点在左端。row-reverse
:主轴为水平方向,起点在右端。column
:主轴为垂直方向,起点在上沿。column-reverse
:主轴为垂直方向,起点在下沿。
3.2 flex-wrap属性
默认情况下,项目都排在一条线(又称"轴线")上。flex-wrap
属性定义,如果一条轴线排不下,如何换行。
.box{ flex-wrap: nowrap | wrap | wrap-reverse;}
它可能取三个值。
(1)nowrap
(默认):不换行。
(2)wrap
:换行,第一行在上方。
(3)wrap-reverse
:换行,第一行在下方。
3.3 flex-flow
flex-flow
属性是flex-direction
属性和flex-wrap
属性的简写形式,默认值为row nowrap
。
.box { flex-flow: <flex-direction> || <flex-wrap>;}
3.4 justify-content属性
justify-content
属性定义了项目在主轴上的对齐方式。
.box { justify-content: flex-start | flex-end | center | space-between | space-around;}
它可能取5个值,具体对齐方式与轴的方向有关。下面假设主轴为从左到右。
flex-start
(默认值):左对齐flex-end
:右对齐center
: 居中space-between
:两端对齐,项目之间的间隔都相等。space-around
:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。
3.5 align-items属性
align-items
属性定义项目在交叉轴上如何对齐。
.box { align-items: flex-start | flex-end | center | baseline | stretch;}
它可能取5个值。具体的对齐方式与交叉轴的方向有关,下面假设交叉轴从上到下。
flex-start
:交叉轴的起点对齐。flex-end
:交叉轴的终点对齐。center
:交叉轴的中点对齐。baseline
: 项目的第一行文字的基线对齐。stretch
(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。
3.6 align-content属性
align-content
属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。
.box { align-content: flex-start | flex-end | center | space-between | space-around | stretch;}
该属性可能取6个值。
flex-start
:与交叉轴的起点对齐。flex-end
:与交叉轴的终点对齐。center
:与交叉轴的中点对齐。space-between
:与交叉轴两端对齐,轴线之间的间隔平均分布。space-around
:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。stretch
(默认值):轴线占满整个交叉轴
收获:(通过今天的学习,学到了什么知识)
flex弹性布局我喜欢,哈哈哈~
- 弹性容器(Flex container)
- 包含着弹性项目的父元素。通过设置
display
属性的值为flex
或inline-flex
来定义弹性容器。 - 弹性项目(Flex item)
弹性容器的每个子元素都称为弹性项目。弹性容器直接包含的文本将被包覆成匿名弹性单元。
- 轴(Axis)
每个弹性框布局包含两个轴。弹性项目沿其依次排列的那根轴称为主轴(main axis)。垂直于主轴的那根轴称为侧轴(cross axis)。
flex-direction
确立主轴。justify-content
定义了在当前行上,弹性项目沿主轴如何排布。align-items
定义了在当前行上,弹性项目沿侧轴默认如何排布。align-self
定义了单个弹性项目在侧轴上应当如何对齐,这个定义会覆盖由align-items
所确立的默认值。
- 方向(Direction)
弹性容器的主轴起点(main start)/主轴终点(main end)和侧轴起点(cross start)/侧轴终点(cross end)描述了弹性项目排布的起点与终点。它们具体取决于弹性容器的主轴与侧轴中,由
writing-mode
确立的方向(从左到右、从右到左,等等)。order
属性将元素与序号关联起来,以此决定哪些元素先出现。flex-flow
属性是flex-direction
和flex-wrap
属性的简写,决定弹性项目如何排布。
- 行(Line)
根据
flex-wrap
属性,弹性项目可以排布在单个行或者多个行中。此属性控制侧轴的方向和新行排列的方向。- 尺寸(Dimension)
根据弹性容器的主轴与侧轴,弹性项目的宽和高中,对应主轴的称为主轴尺寸(main size) ,对应侧轴的称为 侧轴尺寸(cross size)。
min-height
与min-width
属性初始值将为 0。flex
属性是flex-grow
、flex-shrink
和flex-basis
属性的简写,描述弹性项目的整体的伸缩性。
-webkit-flex 属性(Webkit 内核的浏览器,必须加上-webkit
前缀。)
一个元素被定义display:-webkit-flex;则此元素即为伸缩盒模型中的伸缩容器,其包含的子元素是伸缩项目。 flex是一个复合属性。Flexbox伸缩布局盒模型中的伸缩容器及伸缩特性定义。 由多个伸缩项目组成其具体的布局方式。 是为了呈现复杂的应用与页面而设计出来的。
语法
display:-webkit-flex; [指定伸缩容器]
-webkit-flex: none | [flex-grow flex-shrink || flex-basis] | initial | auto
取值: none:在任何情况下都不会发生伸缩
flex-grow:扩展比率 flex-grow
属性定义项目的放大比例,默认为0
,即如果存在剩余空间,也不放大。
flex-shrink:收缩比率 flex-shrink
属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。
flex-basis:伸缩基准值flex-basis
属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto
,即项目的本来大小
initial :在有剩余空间的情况下不会有任何变化,但是在必要的情况下会被收缩
auto:会根据主轴自动伸缩以占用所有剩余空间,非常类似于普通流中的自动外边距
order
属性定义项目的排列顺序。数值越小,排列越靠前,默认为0
评论