css 弹性盒整理笔记

##Dislay: flex

大致了解了之后,主要还是怎么用。flex容器有以下六个属性:

1. flex-direction
2. flex-wrap
3. flex-flow
4. justify-content
5. align-items
6. align-content

####1、flex-direction

​ 属性决定主轴的方向(即项目的排列方向)。

flex-direction: row | row-reverse | column | column-reverse;
	
 - row(默认值)		主轴为水平方向,起点在左端。
 - row-reverse		主轴为水平方向,起点在右端。
 - column		主轴为垂直方向,起点在上沿。
 - column-reverse		主轴为垂直方向,起点在下沿。

####2、flex-wrap

属性定义,如果一条轴线排不下,如何换行。有三个属性值,默认情况下是wrap

flex-wrap: nowrap | wrap | wrap-reverse;

 - nowrap  默认值。规定元素不换行。
 - wrap    规定元素在必要的时候换行。
 - wrap-reverse    规定元素在必要的时候以相反的顺序换行。

20180427130426125

####3、flex-flow

​ 属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。

写法:	.flex-container { flex-flow: <flex-direction> <flex-wrap> }

####4、justify-content

属性定义了项目在主轴上(即相当于X轴)的对齐方式

justify-content: flex-start | flex-end | center | space-between | space-around;

 - flex-start 	默认值。项目位于容器的开头。
 - flex-end		项目位于容器的结尾。
 - center		项目位于容器的中心。
 - space-between		项目位于各行之间留有空白的容器内。
 - space-around		项目位于各行之前、之间、之后都留有空白的容器内。

20180427131909109

20180427132057196

####5、align-items

属性定义项目在交叉轴上(即Y轴上)如何对齐

align-items: flex-start | flex-end | center | baseline | stretch;
	上对齐、下对齐、居中对齐、项目的第一行文字的基线对齐、如果项目未设置高度或设为auto,将占满整个容器的高度(默认值)。
				 
 - flex-start  默认值 项目位于容器的开头。
 - flex-end    项目位于容器的结尾。
 - center  项目位于容器的中心。
 - baseline    项目位于容器的基线上。
 - stretch  项目被拉伸以适应容器。

20180427144500416

20180427193235745

####6、align-content

align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。该属性定义多跟轴线在Y轴上的对齐方式,与align-items有点类似。

align-content: flex-start | flex-end | center | space-between |	space-around | stretch;
 
 - flex-start:与交叉轴的起点对齐。
 - flex-end:与交叉轴的终点对齐。
 - center:与交叉轴的中点对齐。
 - space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。
 - space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。
 - stretch(默认值):轴线占满整个交叉轴。

20180427201631291

20180427201718590

20180427201820195

20180427201916123

20180427201958110

20180427202343681

##flex item

介绍完了flex容器,介绍就要介绍容器里的成员了,Flex项目(flex item),简称”项目”。这里需要之一的是:设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。

flex项目有以下六个属性:

 1. order
 2. flex-grow
 3. flex-shrink
 4. flex-basis
 5. flex
 6. align-self

####1、order

order属性定义项目的排列顺序。数值越小,排列越靠前,默认为0。有了这个属性,可以调整在HTML中出现的顺序。

order: <integer>;
<div class="wrap">
			<div class="hd">设置子元素的order属性来给子项进行排序,默认值是0</div>
			<div class="bd">
				<div class="child" style="order: 5;">1</div>
				<div class="child" style="order: 4;">2</div>
				<div class="child" style="order: 3;">3</div>
				<div class="child" style="order: 2;">4</div>
				<div class="child" style="order: 1;">5</div>
			</div>
</div>

20180427214133241

####2、flex-grow

​ flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。

flex-grow: <number>; /* default 0 */

如果一个项目的flex-grow属性为2,另一个项目都为1,则前者占据的剩余空间将比后一项多一倍。
<div class="wrap">
			<div class="hd">定义子项宽度之和小于父元素宽度时,将剩余的部分,按比例分给对应的子项,进行宽度的增加</div>
			<div class="bd">
				<div class="child" style="box-sizing: border-box; width:100px;flex-grow: 5;">1</div>
				<div class="child" style="box-sizing: border-box; width:100px;flex-grow: 2;">2</div>
				<div class="child" style="box-sizing: border-box; width:100px;flex-grow: 3;">3</div>
			</div>
		</div>

20180427230718803

####3、flex-shrink

flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。

flex-shrink: <number>; /* default 1 */

如果所有项目的flex-shrink属性都为1,当空间不足时,都将等比例缩小。如果一个项目的flex-shrink属性为0,其他项目都为1,则空间不足时,前者不缩小。

####4、flex-basis

​ flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。类似于设置了width属性。

####5、flex

​ flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。

flex-grow、flex-shrink 和 flex-basis 属性的简写属性
flex: flex-grow flex-shrink flex-basis | auto | initial | inherit;

20180427124350535

20180427124631750

20180427124748298

####6、align-self

​ align-self属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。

align-self: auto | flex-start | flex-end | center | baseline | stretch;

上面六个取值中,除了auto,其他值与align-items属性完全一致
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值