zoukankan      html  css  js  c++  java
  • Flexbox布局的基本概念

    flex container(flex容器 或 弹性容器

    flex容器是flex元素的的父元素。 通过设置display 属性的值为flex 或 inline-flex定义。

    注旧版本的属性值:

    • box:将对象作为弹性容器显示。(最老版本)
    • inline-box:将对象作为内联块级弹性容器显示。(最老版本)
    • flexbox:将对象作为弹性容器显示。(过渡版本)
    • inline-flexbox:将对象作为内联块级弹性容器显示。(过渡版本)

    flex item(flex子元素 或 弹性子元素)

    flex容器的每一个子元素均为一个flex子元素。注意:felx容器直接包含的文本变为匿名的弹性子元素。

    注意:Flexbox布局和原来的布局是2套概念,所以部分css属性在flex子元素中将不起作用,比如:floatclear , vertical-align , column-*

    每个flex子元素沿着主轴(main axis)依次相互排列。交叉轴(cross axis)垂直于主轴

    • 属性 flex-direction 定义主轴方向。
    • 属性 justify-content 定义了flex子元素如何沿着主轴排列。
    • 属性 align-items 定义了flex子元素如何沿着交叉轴排列。
    • 属性 align-self 覆盖父元素的align-items属性,定义了单独的flex子元素如何沿着交叉轴排列。

    方向

    flex容器的主轴起点边缘(main start)主轴终点边缘(main end)和 交叉轴起点边缘(cross start),交叉轴终点边缘(cross end)为flex子元素排列的起始和结束位置。它们具体取决于由writing-mode(从左到右、从右到左等等)属性建立的向量中的主轴和交叉轴位置。

    • 属性 order 将元素依次分组,并决定谁先出现。
    • 属性 flex-flow 是属性 flex-direction 和 flex-wrap 的简写,用于排列flex子元素。

    flex子元素根据 flex-wrap 属性控制的侧轴方向(在这个方向上可以建立垂直的新线),既可以是一行也可以是多行排列。

    尺寸

    flex子元素宽高可相应地等价于主尺寸(main size)交叉尺寸(cross size),它们都分别取决于flex容器的主轴和侧轴。

    •  min-height 和 min-width 属性的初始值为新增关键字 auto。
    • 属性 flex 是 flex-basisflex-grow 和 flex-shrink 的缩写,代表flex子元素的伸缩性。
  • 相关阅读:
    C. Karen and Game
    BZOJ2134: 单选错位
    BZOJ3562: [SHOI2014]神奇化合物
    BZOJ1084: [SCOI2005]最大子矩阵
    BZOJ5039: [Jsoi2014]序列维护
    BZOJ1798: [Ahoi2009]Seq 维护序列seq
    BZOJ3932: [CQOI2015]任务查询系统
    BZOJ3339: Rmq Problem
    BZOJ3585: mex
    BZOJ4196: [Noi2015]软件包管理器
  • 原文地址:https://www.cnblogs.com/agansj/p/7154081.html
Copyright © 2011-2022 走看看