flex box 布局(新版本)

定义一个弹性盒子:
父容器设置:
display: flex | inline-flex
伸缩流方向,即定义主轴:
flex-direction: row | row-reverse |column | column-reverse(分别是从左往右, 从右往左, 从上往下, 从下往上)
伸缩换行:
flex-wrap: nowrap | wrap | wrap-reverse(分别是单行显示,多行显示, 多行显示并沿与主轴垂直方向翻转(话说为啥需要这东西))
伸缩流方向与换行(即上面两个属性写到一起)
flex-flow: ||
主轴对齐justify-content:
用来定义伸缩项目沿着主轴线的对齐方式.(当一行的所有伸缩项目都不能伸缩或可伸缩但已到达最大长度时,这一属性才会对伸缩容器额外空间进行分配.当伸缩项目溢出某一行时,这一属性也会在项目的对齐上施加一些控制)(表现为一行放不下时,即多行排列,或者溢出)
justify-content: flex-start |flex-end |center |space-between |space-around
center:

flex box 布局(新版本)_第1张图片
Paste_Image.png

space-between:平均分布,两端不留间隙

flex box 布局(新版本)_第2张图片
Paste_Image.png

space-around: 平均分布,两端间隙平分

flex box 布局(新版本)_第3张图片
Paste_Image.png

几个关键字: 沿着主轴方向, 多行(一行不存在对齐行为), 垂直居中(center), 默认是flex-start

侧轴对齐 align-items
align-items: flex-start| flex-end |center | baseline |stretch
类似于 justify-content;
center:

flex box 布局(新版本)_第4张图片
Paste_Image.png

flex-end:

flex box 布局(新版本)_第5张图片
Paste_Image.png

baseline: 基线对齐

flex box 布局(新版本)_第6张图片
Paste_Image.png

stretch: 默认值

align-self: 单独设置某伸缩项目在侧轴的对齐方式,会覆盖掉align-items,取值和align-items一样

align-content (待补充)

flex: 是一个属性简写, 包含flex-grow, flex-shrink, flex-basis.
一段css具体代码:

.container {
 
  display: -webkit-flex;
 
  display: flex;
 
}
.initial {  
 
-webkit-flex: initial; 
 
          flex: initial;
 
  width: 200px;
 
  min-width: 100px;
 
/*空间足够的时候,该div的宽度是200px,如果空间不足,该div会变窄到100px,但不会再窄了。*/
 
}
 
.none {
 
  -webkit-flex: none;
 
          flex: none;
 
  width: 200px;
 
/*无论窗口如何变化,我的宽度一直是200px。*/
 
}
 
.flex1 {
 
  -webkit-flex: 1;
 
          flex: 1;
 
     /*改div会占满剩余宽度的1/3。*/
 
}
 
.flex2 {
 
  -webkit-flex: 2;
 
          flex: 2;
 
  /*改div会占满剩余宽度的2/3。*/
 
}
flex box 布局(新版本)_第7张图片
Paste_Image.png

垂直居中的一段代码

.vertical-container {
  display: flex;
  height: 300px;  /*父容器*/
}
.vertically-centered {
  margin: auto; 
}

你可能感兴趣的:(flex box 布局(新版本))