flex(二)

【曾以为CSS牛逼了,然而并没有系列】

flex-flow:

officially,"设置或检索弹性盒模型对象的子元素排列方式。"

flex-flow是flex相关的第二个shorthand属性,包含两个子属性:

  • flex-direction,"定义弹性盒子元素的排列方向。"
    flex-direction: row | row-reverse | column | column-reverse;
    row: 从左向右排列 (LTR环境下)
    row-reverse: 从右向左
    column: 从上向下
    column-reverse: 从下向上
    无敌大法之上图:
Paste_Image.png
  • flex-wrap,"控制flex容器是单行或者多行"
    flex-wrap: nowrap | wrap | wrap-reverse;
    nowrap的时候死活都不换行的,这个不用讲了。
    wrap: 换行,原来是什么方向,就是什么方向排列。
    wrap-reverse:换行,按照原来相反的方向排列。
    无敌大法之上图:
Paste_Image.png

justify-content

officially, ”设置或检索弹性盒子元素在主轴(横轴)方向上的对齐方式。“
justify-content:flex-start | flex-end | center | space-between | space-around

(连着那个align-content,宝宝是总也记不住总也记不住总也记不住!!!)

**justify-content: flex-start: **全都挤在最前面
justify-content: center: 全都挤在中间
justify-content: flex-end: 全都挤在最后面
justify-content: space-between: 空间都在第一个孩子和最后一个孩子中间
**justify-content: space-around: **空间围绕着所有孩子(第一个孩子左边空隙和最后孩子右边空隙,是其余孩子中间空间空隙的一半)





align-content

officially,"当伸缩容器的侧轴还有多余空间时,本属性可以用来调准「伸缩行」在伸缩容器里的对齐方式,这与调准伸缩项目在主轴上对齐方式的 <' justify-content '> 属性类似。请注意本属性在只有一行的伸缩容器上没有效果。"
align-content:flex-start | flex-end | center | space-between | space-around | stretch

好尴尬,乱七八糟什么鬼。
但是要注意这句“在只有一行的伸缩容器上没有效果”,什么意思呢,意思就是如果孩子们只能排列成一行,那么不好意思,该属性没啥用。排列成两行以上意味着parent要设置flex-wrap: wrap了(微笑)。

        .parent{
            display: flex;
            /*flex-wrap: wrap;*/
            width: 400px;
            height: 200px;
            background-color: #eee;
            margin: 100px auto;
        }
        .child{  margin: 10px;  padding: 10px;  }
        .child:nth-child(1){ background-color: salmon;  }
        .child:nth-child(2){  background-color: skyblue;  }
        .child:nth-child(3){  background-color: bisque;  }
        .child:nth-child(4){  background-color: salmon;  }
        .child:nth-child(5){  background-color: skyblue;  }
        .child:nth-child(6){  background-color: bisque;  }
        .child:nth-child(7){  background-color: salmon;  }
        .child:nth-child(8){  background-color: skyblue;  }
        .child:nth-child(9){  background-color: bisque;  }

如果没设置flex-wrap: wrap;的话,效果是酱紫的(好丑):


设置了flex-wrap: wrap;的话,效果是酱紫的(好看多了),但是变成了这样的效果,也说明了一个问题align-content默认值是stretch

除此之外,设置成flex-start | flex-end | center | space-between | space-around的效果分别是酱紫酱紫。。。酱紫的:

Paste_Image.png

align-items

officially,"定义flex子项在flex容器的当前行的侧轴(纵轴)方向上的对齐方式。"
align-items:flex-start | flex-end | center | baseline | stretch

也就是说,跟justify:content是相对应的,justify-content管的是主轴,align-items管的是侧轴。默认是stretch

        .parent{
            display: flex;
            flex-wrap: wrap;
            width: 400px;
            height: 180px;
            background-color: #eee;
            margin: 100px auto;
        }
        .child{  margin: 10px;  padding: 10px;  }
        .child:nth-child(3n){ background-color: salmon; line-height: 4; }
        .child:nth-child(3n+1){  background-color: skyblue;  }
        .child:nth-child(3n+2){  background-color: bisque;  }
    <div class="parent">
        <div class="child">1</div>
        <div class="child">2</div>
        <div class="child">3</div>
        <div class="child">4</div>
        <div class="child">5</div>
        <div class="child">6</div>
        <div class="child">7</div>
        <div class="child">8</div>
    </div>

在只有一行的情况下align-items的值为flex-start | flex-end | center | baseline | stretch效果分别是酱紫酱紫。。。酱紫的。

Paste_Image.png

多行的情况下效果分别是:
注意baselinecenter的区别:同一行内,baseline是把最高的孩子顶在最上面,其余孩子以最高孩子的baseline为基准;而center是吧所有孩子都垂直居中

Paste_Image.png

之前宝宝一直没弄懂align-itemsalign-content之间的关系,现在宝宝明白了,其实没什么关系:align-items是控制一行内元素排列的效果,而align-content是控制多行的行与行相对于父元素的效果。在上面代码基础上,加高父元素,再加一行align-content:center能够很明显比较出来:
align-items的值为flex-start | flex-end | center | baseline | stretch效果分别是酱紫酱紫。。。酱紫的。

Paste_Image.png

这种情况下,baselinecenter的效果是一样的

align-self

officially, "定义flex子项单独在侧轴(纵轴)方向上的对齐方式。"
计算值:如果值为「auto」,也就是默认值,则计算值为父元素的 <' align-items '> 值,否则为指定值。
align-self:auto | flex-start | flex-end | center | baseline | stretch

align-self比较好理解,如果没有对某一个子元素特殊设置这个属性,那好办,直接随爹;如果对这个子元素单独设置了,那也好办,设置什么就体现成什么,也就是说翅膀硬了,爹已经管不了了。
看下面这张图就知道了。

Paste_Image.png

order

终于到了最后一条属性,宝宝激动得快哭了😂。。。

officially, "设置或检索弹性盒模型对象的子元素出現的順序。"
<integer>:用整数值来定义排列顺序,数值小的排在前面。可以为负值,默认为0。

其实也很好理解,默认情况下孩子们是按照dom出现的顺序一次排列的,但如果flex下的某些孩子就想按照特殊的顺序进行排列,那么只要给这些搞特殊的子元素设置order属性就行:order越小越先排列,越大越在后面。

    <div class="parent">
        <div class="child">1</div>
        <div class="child">2</div>
        <div class="child">3</div>
        <div class="child">4</div>
        <div class="child">5</div>
        <div class="child">6</div>
        <div class="child">7</div>
        <div class="child">8</div>
    </div>

看图就知道了,其余元素都为0,第六个孩子order为负,最小,所以排在了最前面。

Paste_Image.png

最后分享几个链接,flex学习利器:
<CodePen>
<flex学习指南、工具与框架>
<Flexbox Tester>
done~ (完美状)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容