咨询热线:13569535712 联系人:王东 地址:北辰区双街镇经济技术开发区
flex笔记 - 基础
来源:优优最新注册页面 发布时间:2019-11-12 点击量:429
flex笔记 - 基础
文章中的所有图示代码都放在了github上: 阮一峰flex博客跟学代码
传统的布局解决方案,基于盒模型, 依赖 display, position, float属性来进行布局,有的时候很不方便,实现垂直居中就很不方便。
一. Flex简介
Flex 是 Flexible Box 的缩写,译为弹性布局,用来为盒模型提供最大的灵活性。
任何一个容器都可以使用 Flex 布局
元素设置为Flex布局后,子元素的 float
,clear
, vertical-align
属性将失效
二. 基本概念
采用Flex布局的元素,为Flex容器,它所有的子元素自动成为容器成员,成为Flex成员,(flex item)
一个flex布局存在两根轴,水平横轴,也叫主轴(即图中的 main axis) 和 垂直纵轴 (cross axis)
横轴的开始位置,也就是图中左边框上的点集合, 叫做main start
,结束位置,图中右边框的点集合,叫做main end
,垂直纵轴的开始位置(上边框的点)叫做cross start
,结束位置,下边框的点,叫做cross end
,
每一个成员item的水平空间和垂直空间分别为 main size
和 cross size
三. 容器属性
接下来的展示demo github项目中的代码为了方便有些属性写在了item成员上,最正确的方式是些在flex容器上。
1. flex-direction
flex-direction
属性决定水平横轴的方向(即项目的排列方向)。
它可取以下四个值
row
(默认值):主轴为水平方向,起点在左端。row-reverse
:主轴为水平方向,起点在右端。column
:主轴为垂直方向,起点在上沿。column-reverse
:主轴为垂直方向,起点在下沿。2. flex-wrap属性
默认情况下,项目都排在一条线(又称"轴线")上。flex-wrap
属性定义,如果一条轴线排不下,如何换行。
它可取三个值
nowrap
(默认):不换行wrap
:换行,第一行在上方wrap-reverse
:换行,第一行在下方如图我们可以发现,默认的nowrap属性的优先级是高于我们设置的width的。
3. flex-flow
flex-flow
属性是flex-direction
属性和flex-wrap
属性的简写形式,默认值为row nowrap
4. justify-content属性
justify-content
属性定义了项目在水平横轴上的对齐方式
阮老师的博客图示:
属性能取5个值
flex-start
(默认值):左对齐flex-end
:右对齐center
: 居中space-between
:两端对齐,项目之间的间隔都相等。space-around
:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。5. align-items属性
align-items
属性定义项目在垂直纵轴上如何对齐。 和justify-content属性一块记忆比较容易。
它可能取5个值
flex-start
:交叉轴的起点对齐。flex-end
:交叉轴的终点对齐。center
:交叉轴的中点对齐。baseline
: 项目的第一行文字的基线对齐。stretch
(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。下图示例是的垂直纵轴方向是由上到下
6. align-content属性
align-content
属性定义了多根轴线的对齐方式。
align-content
只适用于多行 的flex容器
该属性可能取6个值
flex-start
:与垂直轴的起点对齐。flex-end
:与垂直轴的终点对齐。center
:与垂直轴的中点对齐。space-between
:与垂直轴两端对齐,轴线之间的间隔平均分布。space-around
:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。stretch
(默认值):轴线占满整个垂直轴。四. item成员的属性
1. order属性
order
属性定义项目的排列顺序。数值越小,排列越靠前,默认为0
2. flex-grow属性
flex-grow
属性定义项目的放大比例,默认为0
,即如果存在剩余空间,也不放大。
如果所有项目的flex-grow
属性都为1,则它们将等分剩余空间(如果有的话)。如果一个项目的flex-grow
属性为2,其他项目都为1,则前者占据的剩余空间将比其他项多一倍。
3. flex-shrink属性
flex-shrink
属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。
如果所有项目的flex-shrink
属性都为1,当空间不足时,都将等比例缩小。如果一个项目的flex-shrink
属性为0,其他项目都为1,则空间不足时,前者不缩小。
负值对该属性无效。
4. flex-basis属性
flex-basis
属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto
,即项目的本来大小。
它可以设为跟width
或height
属性一样的值(比如350px),则项目将占据固定空间。
5. flex属性
flex
属性是flex-grow
, flex-shrink
和 flex-basis
的简写,默认值为0 1 auto
。后两个属性可选。
该属性有两个快捷值:auto
(1 1 auto
) 和 none (0 0 auto
)。
6. align-self属性
align-self
属性允许单个项目有与其他项目不一样的对齐方式,可覆盖
相关产品
-
“如今,居民电梯也有了‘黑匣子’,事故率下降了50%。”中新天津生态城管理委员会副主任罗家均告诉记者,生态城美林园小区目前安装了54台智慧电梯,用户扫描电梯轿厢二维码,就能了解电梯维保信息;电梯“黑匣子”实现全天候运行监控,乘梯人一旦被困,可立即通过4G高清摄像头与救援人员对话。
-
2015年,我国在线旅游市场规模为4326.6亿元,同比增长40.2%,在我国旅游产业的渗透率是11.6%,估计未来在线旅游在整体旅游产业中所占的比例会不断提高。
-
中国人民大学公共管理学院副院长许光建说,看似是小事,其实都是大事,关系着每一个具体百姓的日常生活。这些工作落实没落实,做得好不好,百姓有实实在在的感受,是重大的民生工程、民心工程。这些既是百姓的期盼,也是党中央的执政目标。
-
临沧市公安边防支队28日也在镇康县南伞镇公开销毁枪支919支。当地边防自7月25日开始就派出大批官兵深入边境辖区村寨开展涉枪涉爆法律法规宣传,其间群众举报线索255条,主动上缴各类枪支2600余支。
-
此番邀请戴安娜女士分享马术礼仪,也是为呼应今年赛事所号召的“优雅观赛”。赛事方鼓励女士盛装出席,并在现场配备摄影师拍摄参与当天的时尚评选活动。据悉,赛事方为此还专门设计了一款名为优雅之悦的票务产品,以相同价格在普通票务产品上增加了现场参加时尚沙龙以及上海松声马术俱乐部骑乘体验的增值内容。
-
王旭所在的团队曾经在四川省宝兴县雪山村进行了一次尝试,2013年,这个村子在芦山里氏7.0级地震中受到重创,王旭和同事们发起了一项行动,邀请全球的设计师为这个村子的震后重建提供方案。
-
“每一个冲刺获胜都不是那么简单,”赛段冠军沃尔谢德赛后笑着说:“我的特点是不喜欢在最后冲刺时过多地去和对手正面对抗,因此我会选择较早的冲刺时机,但有时候也会因为过早而失去夺冠机会。这两天我们车队的战术安排非常好,每次冲刺时我都卡在了大团最前方,启动也很及时,我很开心能再次赢得赛段冠军,到目前为止,我对我的表现很满意。”
-
2015款帕杰罗在车头进气格栅区域的镀铬装饰面积有所增大,与此同时,车头牌照位的颜色由老款的与车身同色变为了深灰色,看上去整体感更强。头灯组的设计基本与老款一致,带透镜的氙气大灯优化了照射角度,使得照明范围更广;雾灯处新增加的日间行车灯流露出了一丝时尚的感觉。
热点资讯
- ofo“看看”上线:进军信息流服务领域2019-10-29
- 世界杯赌球调查:组织赌球的团伙7天牟利数百万元2019-11-06
- 《荣耀战魂》玩家超1500万新阵营“武林”即将登场2019-11-07
- 长光卫星:去柬埔寨试图搜索马航MH370,已调动10颗卫星去拍2019-11-12
- 俄罗斯官员:中国不仅是西方国家,而且是俄罗斯在世界上的最大伙伴。2019-10-29
- 你不知道的腾讯社招面试经验(已offer)2019-06-26
- 6GB+256GB版坚果Pro2官方降价1100元:只需2199元2019-06-26
- 腾讯视频以“细节”记录时代2019-06-26