Flexの使用

22250 ワード

主にFlexの各属性をまとめました.一部の例はあまり実現できないかもしれません.当時のでたらめな書き込みは、まず大神のメモを見に来てください.http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html
01 Flexの定義と使用
1.FlexはFlexible Boxの略語で、「弾性配置」を意味し、箱型モデルのために最大の柔軟性を提供する.
2.どのコンテナもFlexレイアウトに指定できます.
3.Flexレイアウトの要素を使用して、Flex容器(flex container)といい、略して「容器」といいます.そのすべてのサブ要素は自動的に容器のメンバーになります.Flexプロジェクトと呼ばれ、略して「プロジェクト」と呼ばれます.
4.容器には標準的に二本の軸があります.水平の主軸と垂直のクロス軸があります.主軸の開始位置(枠との交差点)をmain startといい、終了位置をmain endといいます.クロス軸の開始位置をcross startといい、終了位置をcross endといいます.
5.プロジェクトはデフォルトで主軸に沿って並べられています.単一のプロジェクトが占めている主軸空間はメーンシーズといい、占有されているクロス軸空間はクロスサイゼといいます.

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Flex   title>
head>
<style>
    .box{
        display: flex;
        /*flex-direction: column;*/
        /*flex-direction: row-reverse; //     */

        /*flex-wrap: nowrap; //   */
        /*flex-wrap: wrap; //  */
        /*flex-wrap: wrap-reverse; //  ,      */
        align-items: stretch;
    }
    .box div{
        width: 30%;
        height: 100px;
        background-color: lime;
        margin-top: 10px;
        margin-right: 10px;

        /*order: 0; ??*/
        /*flex-grow: 1;*/
        /*flex-shrink: 1;*/
        /*flex-basis: 30%; ??*/
        /*flex: auto;*/
    }
    .box .box2{
        /*flex-grow: 2;*/
        /*flex-shrink: 0;*/
        /*align-self: flex-end;*/

    }
    
    /*         Flex  */
    /*.box{*/
    /*    display: inline-flex;*/
    /*}*/
    
    /*Webkit       ,    -webkit  。*/
    /*.box{*/
    /*    display: -webkit-flex; !* Safari *!*/
    /*    display: flex;*/
    /*}*/
    /*  ,   Flex     ,    float、clear vertical-align     。*/
style>
<body>
<div class="box">
    <div>1div>
    <div class="box2">2div>
    <div>3div>
    <div>4div>
    <div>5div>
    <div>6div>
    <div>7div>
    <div>8div>
div>

body>
html>
02容器の属性

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Flex     title>
    <style>
        /*1.flex-direction  
               (        )。*/
        /*.box {*/
        /*    flex-direction: row(   ):         ,      |*/
        /*    row-reverse:       ,      |*/
        /*    column:       ,      |*/
        /*    column-reverse:       ,     ;*/
        /*}*/

        /*     ,    */
        /*.box{*/
        /*    display: flex;*/
        /*    flex-direction: row;*/
        /*    flex-wrap: nowrap;*/
        /*}*/
        /*.box div{*/
        /*    width: 30%;*/
        /*    height: 100px;*/
        /*    background-color: #ff6600;*/
        /*    margin-bottom: 10px;*/

        /*}*/

        /*2.flex-wrap    :
                 ,    。*/
        /*.box{*/
        /*    flex-wrap: nowrap | wrap | wrap-reverse;*/
        /*}*/
        /*       。*/
        /*(1)nowrap(  ):   。*/
        /*(2)wrap:  ,      。*/
        /*(3)wrap-reverse:  ,      。*/

        /*3.flex-flow  :
         flex-direction   flex-wrap       ,    row nowrap。*/
        /*.box {*/
        /*    flex-flow:  || ;*/
        /*}*/

        /*4.justify-content  
              【  】      。*/
        /*.box {*/
        /*    justify-content: flex-start(   ) |
                               flex-end(   ) |
                               center(  ) |
                               space-between:    ,          。(   div         ,     ,          ,div     ) |
                               space-around:           。  ,                   。(   div         ,     ,          ,div     );*/
        /*}*/

        /*5.align-items  
             【   】     。*/
        /*.box {*/
        /*    align-items: flex-start(        ) |
                           flex-end(        ) |
                           center(         ) |
                           baseline(            ) |
                           stretch(   ):            auto,          ;*/
        /*}*/

        /*6.align-content  
           【    】     。          ,       。*/
        /*.box {*/
        /*    align-content: flex-start(         ) |
                             flex-end(       ) |
                             center(         ) |
                             space-between(        ,           ) |
                             space-around(            。  ,                   ??) |
                             stretch(   ):         ;*/
        /*}*/
    style>
head>
<body>



    <div class="box">
        <div>1div>
        <div>2div>
        <div>3div>
        <div>4div>
    div>



body>
html>
03プロジェクトのプロパティ

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Titletitle>
    <style>
        /*1.order  
          (       )。    ,     ,   0。
          :
        【
         1 1 1 2 3
        -1 1 2 5
        】
          :【  2
                 2
                99
              】
        */
        /*.item {*/
        /*    order: ;*/
        /*}*/

        /*2.flex-grow  (0  、1 2)
          (       ),   0,         ,    。*/
        /*.item {*/
        /*    flex-grow: ; !* default 0 *!*/
        /*}*/
        /*       flex-grow    1,          (     )。
               flex-grow   2,      1,                  。*/

        /*3.flex-shrink  (1  ,0  )
           (       ),   1,       ,      。*/
        /*.item {*/
        /*    flex-shrink: ; !* default 1 *!*/
        /*}*/
        /*       flex-shrink    1,      ,       。
               flex-shrink   0,      1,      ,     。
        !!        。*/

        /*4.flex-basis  */
        /*   (         ),         (main size)。
                 ,           。      auto,        。*/
        /*.item {*/
        /*    flex-basis:  |
                          auto; !* default auto *!
        */
        /*}*/
        /*      width height      (  350px),          。*/

        /*5.flex   flex-grow, flex-shrink   flex-basis   ,
            0 1 auto。       。*/
          /*.item {*/
          /*    flex: none | [  ? ||  ]*/
          /*}*/
        /*         :auto (1 1 auto)   none (0 0 auto)。*/
        /*!!          ,             ,           。*/

        /*6.align-self  
                            ,   align-items  。
            auto,        align-items  ,
               ,    stretch。*/
        /*.item {*/
        /*    align-self: auto |
                          flex-start |
                          flex-end |
                          center |
                          baseline |
                          stretch;*/
        /*}*/

    style>
head>
<body>

body>
html>