flex属性

Flex简介

ul {
    display: flex;
 }
微信截图_20191120193256.png

那么ul下的li将自动成为flex容器的项(li下的元素不会受到影响),默认情况下flex容器的方向为x轴正方向,这会使得ul下的li从左至右无缝排列。基础特性如下:

  • 默认情况下,同一行/列中flex元素的高始终保持一致,如果某个元素高度/宽度大于其他元素,那么下一行/列将从以最大宽度/高度进行排列
  • 默认情况下,当行无法装载flex元素时会对元素进行缩放,此时flex元素的宽度将失效。

flex-direction

ul {
    display: flex;
    flex-direction: row-reverse;    
}
微信截图_20191120193348.png

flex-direction用于指定排列的方向(注意是排列方向,而不是flex元素的排列顺序)。以上代码会使得li在x轴上反转,从右至左进行排列。全部取值如下

  • row: x轴正方向(默认)
  • row-reverse: x轴反方向,flex元素顺序也会反转
  • column: y轴正方形
  • column-reverse: y轴反方向,flex元素顺序也会反转
  • unset: 设置为默认值


    微信截图_20191120193124.png

flex-wrap

ul {
    display: flex;
    flex-wrap: wrap;
}
微信截图_20191120193805.png

flex-wrap说明在排列方向上装不下时如何处理。取值如下:

  • nowrap: 不换行(默认),flex元素的高度默认为100%(因为align-content和align-items默认为stretch)
  • wrap: 换行,新行沿Y轴往下增,此时flex元素的高度自动计算(总高度/行数)(由align-items决定)
  • wrap-reverse: 换行,新行沿Y轴往上增,此时flex元素的高度自动计算(总高度/行数)(由align-items决定)


    微信截图_20191120194409.png

flex-flow

ul {
    display: flex;
    flex-flow: row nowrap;
}

flex-flow是flex-direction和flex-wrap的简写属性,默认值为row nowrap

justify-content

ul {
    display: flex;
    justify-content: flex-end;
}

justify-content说明每根Y轴在X轴上的对齐方式,取值如下:

1、 flex-start:左对齐(默认),如|ABC |
2、flex-end:右对齐,如| ABC|
3、center:居中,如| ABC |
4、space-between:两端对其,距离两端为0px,flex元素之间等距,如|A B C|
5、space-around:flex元素两侧等距,这会导致第一项和最后一项的左间距和右间距至右flex元素之间的间距的一半,如| A B C |
6、space-evenly:flex元素之间和两端等距,如| A B C |

微信截图_20191120195500.png

align-content

ul {
    display: flex;
    align-items: flex-start;
    align-content: flex-start;
}

align-content定义每根X轴在Y轴上的对齐方式(flex-wrap为nowrap时不生效),取值如下:

  • flex-start:以Y轴的起点对齐


    微信截图_20191120202053.png
  • flex-end:以Y轴的终点对齐


    微信截图_20191120202208.png
  • center:以Y轴对齐


    微信截图_20191120202246.png
  • space-between:Y轴上两端对齐

  • space-around:X轴轴距相等,Y轴两端距离仅有轴距的一半

  • space-evenly:X轴与两端的距离均相等

  • stretch:轴高度自适应(等高)(默认值)

align-items

ul {
    display: flex;
    align-items: flex-start;
    align-content: flex-start;
}

align-items说明flex元素在当前X轴内Y轴方向上如何对齐,如在Y轴的对齐起点、元素高度等,取值如下:

  • flex-start:行在Y轴上的起点对齐
  • flex-end:行在Y轴上的终点对齐
  • center:flex元素在Y轴上居中
  • baseline:flex元素中的首行文字底部对齐
  • stretch:Y轴上平铺(设定为行高)(默认值)

flex元素的属性

  • flex元素修改display值时将失效,即使添加!important关键字。

flex-grow

flex-grow定义如何分配剩余空间,这里的剩余空间指的是除了flex元素占据的宽度以外,flex容器剩下的宽度。默认情况下不分配。取值为数值(倍数,相对其他而言占用的比例),默认为0,即不分配。取值相同时为平均分配。

flex-shrink

flex-shrink定义如何缩放,当宽度不够时定义如何缩放。取值为数值,默认为1,表示所有元素等比例缩放。如果取值为0,则表示不缩放。

flex-basis

li {
    flex-basis: 300px;
}

flex-basis定义元素宽度,默认值为auto,即元素本身的宽度,可使用固定值。

flex

flex为flex-grow, flex-shrink, flex-basis的简写(推荐使用,因为浏览器会自动推算值)

align-self

align-self定义某个flex元素的对齐方式,除了auto值外,其他取值与align-items保持一致。

常见布局

内容等分

li {
    flex-basis: 100%;
    // width: 100%;
}

以上两种方式均可行

其他内容自适应

.left { width: 300px; flex-shrink: 0;}
li { width: 100%; flex-shrink: 1;} // 宽度为100%,此时会自动进行缩放

未知宽高对齐

第一种方式:

ul {
    display: flex;
    justify-content: center; // Y轴居中
    align-content: center; // X轴居中
    flex-wrap: wrap; // 使align-content生效
}

第二种方式:

ul {
    display: flex;
    justify-content: center; // Y轴居中
    align-items: center; // 设置元素在轴内Y轴方向上居中,因为align-content默认为stretch,所以轴高为100%
}


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

推荐阅读更多精彩内容