Flex学习笔记

 Flex —— Flexible Box 弹性布局

用来为盒子模型提供灵活性

 

/* 块级元素 */
.box{
  display: flex;
}

/* 行内元素 */

.box{
  display: inline-flex;
}


/* Webkit 内核的浏览器 */
.box{
  display: -webkit-flex; /* Safari */
  display: flex;
}

 

基本概念

容器 container ——  display: flex;后的元素

项目 item ——  container里面的元素

主轴 main axis —— 横轴

交叉轴 cross axis —— 竖轴

main start,main end,cross start,cross end —— 如果从左到右,从上到下算,则为:左端点,右端点,上端点,下端点

main size,cross size —— 宽多少,高多少

 

container的属性

6个

 - flex-direction √
 - flex-wrap √
 - flex-flow 
 - justify-content √
 - align-items √
 - align-content
// 记四个就够用了

flex-direction

item的排列方向row | row-reverse | column | column-reverse)(→ | ← | ↓ | ↑)

默认row →

 

flex-wrap

怎么换行nowrap | wrap | wrap-reverse)(不换行 | 往下换行 | 往上换行)

默认不换行nowrap

 

 flex-flow

是 flex-direction 和 flex-wrap 属性的复合属性。,默认值为flex-flow: row nowrap;

 

 justify-content

item的在横轴上怎么对齐,(flex-start | flex-end | center | space-between | space-around) (main start为起点对齐 | mian end为起点对齐 | 向中间靠拢对齐 | 两端对齐,item间隔相等 | 每个item两侧间隔相等)

具体对齐方式与轴的方向有关。下图假设主轴为从左到右:

 

align-items

item在竖轴上怎么对齐(flex-start | flex-end | center | baseline | stretch)(cross start为起点对齐 | cross end 为起点对齐 |  竖轴中心点对齐 |  item的第一行文字的基线对齐 | 如果项目没设置高度或设auto将占满整个高度)

默认stretch

 具体的对齐方式与交叉轴的方向有关,下图假设交叉轴从上到下:

 

align-content

定义了多根轴线的对齐方式

 align-content: flex-start | flex-end | center | space-between | space-around | stretch

 

 


 

 

item的属性

6个

 


order √ flex-grow √ flex-shrink √ flex-basis flex align-self √ //√的四个可能有用点

 

  

order - 排序

item排列顺序,数值越小,排列越靠前,默认为0

.item {
  order: <integer>;
}

 

flex-grow

item的放大比例, 默认0,即如果存在剩余空间,也不放大。

 

 

flex-shrink

item的缩小比例,默认为1,即如果空间不足,该项目将缩小。

不能负值

 

 

flex-basis

 定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即item的本来大小。

.item {
  flex-basis: <length> | auto; /* default auto */
}

  

 

flex

flex-growflex-shrink 和 flex-basis的复合属性,默认0,1,auto

 

align-self

这个item自己想和别的不同的对齐方式,默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch

 align-self: auto | flex-start | flex-end | center | baseline | stretch(除了auto,其他都与align-items属性完全一致)

 

 

汇总

 

posted @ 2017-11-16 18:04  Sameen  阅读(339)  评论(0编辑  收藏  举报