美文网首页
[笔记]Flex布局的语法

[笔记]Flex布局的语法

作者: reneeChoi | 来源:发表于2018-05-16 22:15 被阅读23次

    前言

    它是2009年,W3C提出了一种新的布局方案,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持。

    定义

    Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。

    任何容器、甚至行内元素都可以使用flex布局,设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。

    概念

    1.采用Flex布局的元素,称为Flex容器,简称容器
    2.Flex容器的子元素为容器成员,称为Flex项目,简称项目
    3.容器默认存在两根轴:水平的主轴(main axis)、垂直的交叉轴。(cross axis)
    4.主轴开始位置叫main start,结束位置叫做main end,交叉轴的开始位置叫做cross start,结束位置叫做cross end
    5.单个项目占据主轴空间叫做main size,占据交叉轴空间叫做cross size

    容器属性

    flex-direction:决定主轴方向
    flex-wrap:一条轴线排不下,如何换行
    flex-flow:是flex-direction和flex-wrap属性的简写形式
    justify-content:项目在主轴上的对齐方式
    align-items:项目在交叉轴上的对象方式
    align-content:多根轴线的对齐方式,对一根轴线不起作用

    容器所有属性值

    .box {
       flex-direction: row | row-reverse | column | column-reverse;
       flex-flow: <flex-direction> || <flex-wrap>;
       justify-content: flex-start | flex-end | center | space-between | space-around;
       align-items: flex-start | flex-end | center | baseline | stretch;
       align-content: flex-start | flex-end | center | space-between | space-around | stretch;
    }
    

    项目属性

    order:定义项目的排列顺序,数值越小,排列越靠前,默认为0
    flex-grow:定义项目的放大比例,默认为0,不放大
    flex-shrink:定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小
    flex-basis:定义了在分配多余空间之前,项目占据的主轴空间
    flex:是flex-grow,flex-shrink和flex-basis的简写,默认值为0 1 auto
    align-self:允许耽搁项目有与其他项目不一样的对齐方式,可覆盖align-item数据。默认值auto,表示继承align-item的属性,如果没有父元素,则等同于stretch。

    项目所有属性值

    .item {
      order: <integer>;
      flex-grow: <number>; /* default 0 */
      flex-shrink: <number>; /* default 1 */
      flex-basis: <length> | auto; /* default auto */
      flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
      align-self: auto | flex-start | flex-end | center | baseline | stretch;
    }
    

    相关文章

      网友评论

          本文标题:[笔记]Flex布局的语法

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