美文网首页
flex 布局

flex 布局

作者: 苦瓜_6 | 来源:发表于2018-05-15 11:52 被阅读0次

flex 布局特点

  • 块级布局侧重垂直方向、行内布局侧重水平方向,flex布局与方向无关
  • flex布局可以实现空间自动分配,自动对齐
  • flex 布局适用于简单的线性布局,更复杂的用 grid 布局
  • 行内元素也可以用flex布局: display: inline-flex;

几个基本概念

  • main axis: 主轴 (由方向决定)
  • cross axis: 侧轴
  • main size: 主尺寸
  • cross size: 侧尺寸
  • main start: 主轴起点
  • main end: 主轴终点
  • cross start: 侧轴起点
  • cross end: 侧轴终点
  • flex item: 子元素
  • flex container: 父容器(就是设置display: flex 的容器)

flex container 的属性

1. flex-direction 方向
  • row (从左到右)一行一行的展现
  • row-reverse (从右到左)一行一行的展现(排列)
  • column (从上到下) 一列列排列
  • column-reverse (从下到上)一列列排列
2.flex-wrap 换行

flex-wrap: nowrap | wrap | wrap-reverse |
默认不换行(就算给父容器、子元素设置了宽高也没用),可以通过设置flex-wrap: wrap 来让它换行(给父元素设置)。

3. flex-flow 上面两个的简写

flex-flow 是flex-direction 和 flex-wrap的缩写,默认值为 row nowrap 。

4. justify-content 主轴方向的对齐方式
  • space-between : 空间都放在中间
  • space-around: 空间都均匀的放在周围
  • flex-start: 都靠近起点
  • flex-end: 都靠近终点
  • center: 居中
5. align-items 侧轴对齐方式
  • stretch : 默认值 (只有这一种情况会伸展)
  • flex-start : 靠近起点
  • flex-end : 靠近终点
  • center : 居中
  • baseline : 文字的 baseline 对齐
6. align-content 多行/ 多列 内容对齐方式

这个用的较少,定义多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。
align-content: flex-start | flex-end | center | space-between | space-around | stretch |

flex item 的属性

1. flex-grow

增长比例(空间过多时),默认 0

2. flex-shrink

收缩比例(空间不够时)默认1 ,负值无效
TIPS:
MDN 中有这样一段描述:

By default flex items don't shrink below their minimum content size. To change this, set the item's min-width or min-height.

即默认情况下, flex item 内容的宽度(或高度)大于flex 容器的 宽度(或高度)时,flex-item 是不会再缩小了,也就是内容会溢出容器,如果要解决这个问题,给flex-item 设置最小宽度(或高度就好了)。
亲测有效:点这里

3. flex-basis

默认大小(一般不用) 可以指定大小,默认 auto

可以看下这篇文章:
深入理解flex布局的flex-grow、flex-shrink、flex-basis

4. flex

上面3 个的缩写

5. order

改变顺序(可以代替双飞翼布局) IE8 不支持

6. align-self item 自身的对齐方式

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

最后

一个关于 flex 的小游戏

参考 :

相关文章

  • flex布局

    认识flex布局 flex布局(Flexible 布局,弹性布局)开启了flex布局的元素叫flex contai...

  • 初见FLEX

    FLEX布局 一种新的布局方式,flex布局 flex布局与方向无关 flex布局可以实现空间自动分配、自动对齐。...

  • Flex 布局教程

    一、Flex 布局教程:语法篇 Flex 布局教程:语法篇 二、Flex 布局教程:实例篇 Flex...

  • css flex布局详解

    css flex布局详解 css flex布局详解1css flex布局详解2

  • Flex

    阮一峰-Flex布局 阮一峰-Flex布局实例教程 Flex布局 块级元素 行内元素 注意,设为 Flex 布局...

  • flex布局学习笔记

    经典教程 Flex 布局教程:语法篇Flex 布局教程:实例篇flex布局游戏 理解 flex布局实现需要至少两层...

  • 6Flex 布局

    Flex,(Flexible Box),意为"弹性布局"采用 Flex 布局的元素,为 Flex 容器(flex ...

  • css flex

    css flex布局 采用 Flex 布局的元素,称为 Flex 容器(flex container),简称“容器...

  • Flex布局(语法篇)

    一、介绍Flex布局 什么是Flex布局呢?Flex布局:又称弹性布局,它是Flexible Box 的缩写,它为...

  • Day02_flex布局

    一、flex布局介绍: 1、又名Flexible 布局,弹性布局;2、开启了 flex 布局的元素叫 flex c...

网友评论

      本文标题:flex 布局

      本文链接:https://www.haomeiwen.com/subject/iahedftx.html