flex 下对齐_Flex 布局(css之弹性布局)

作者:malingshu99

https://blog.csdn.net/malingshu99/article/details/106737659

什么是 flex 布局

Flex 是 Flexible Box 的缩写,意为"灵活的盒子"或"弹性的盒子",所以 flex 布局一般也叫作"弹性布局"

基本概念

  1. 什么是 flex 容器(flex container)?
    采用 flex 布局的元素,称为 flex 容器

    .box { display: flex | inline-flex; }
  2. 什么是 flex 项目(flex item)?
    flex 容器的所有子元素自动成为容器成员,称为 flex 项目

889a8458dc7c49b3f2cb87e78ece9ca6.png

项目默认沿主轴排列

容器的属性

displayflex-directionflex-wrapflex-flowjustify-contentalign-itemsalign-content

display 属性

display 属性决定是否使用flex布局

.box { display: flex | inline-flex; }

flex:将对象作为弹性伸缩盒显示

466d85cc6cb41326740465290d53c214.png

inline-flex:将对象作为内联块级弹性伸缩盒显示

55c72e66f9d62861a2f7a4c8b63f3bed.png

flex-direction 属性

flex-direction 属性决定主轴的方向(即项目的排列方向)

.box { flex-direction: row | row-reverse | column | column-reverse; }

row(默认值):主轴为水平方向,起点在左端

466d85cc6cb41326740465290d53c214.png

row-reverse:主轴为水平方向,起点在右端

0e23a6a4e433b9f2f4e363e56401efbf.png

column:主轴为垂直方向,起点在上沿

00ac1be0ca1e1191ebddaf0df92ed937.png

column-reverse:主轴为垂直方向,起点在下沿

32b8610c63eca2664a3734b1e980b7c9.png

flex-wrap 属性

默认情况下,项目都排在一条线(又称"轴线")上flex-wrap 属性定义,如果一条轴线排不下,如何换行

.box{ flex-wrap: nowrap | wrap | wrap-reverse; }

nowrap(默认):不换行

9b292702a76417bac35d054074c1d8dd.png

wrap:换行,第一行在上方

6a17fec25afc269bd6252ba5c992d1c7.png

wrap-reverse:换行,第一行在下方

d0ad33cedda6bac34a89497942386f98.png

flex-flow

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

.box { flex-flow: || ; }
6a17fec25afc269bd6252ba5c992d1c7.png

justify-content 属性

justify-content 属性定义了项目在主轴上的对齐方式

.box { justify-content: flex-start | flex-end | center | space-between | space-around; }

flex-start(默认值):左对齐

6331c36b77542196dc19801b59c80e50.png

flex-end:右对齐

ebb1ee758e2451f56fffb32d2f606674.png

center:居中

3800db6649bee2bb2fd3cdb439a2cd1a.png

space-between:两端对齐,项目之间的间隔都相等

502cb9c53f5e5eb7721b52c7e78a30b6.png

space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍

07fc92eef20a4d19bb86255c011a91f7.png

align-items 属性

align-items 属性定义项目在交叉轴上如何对齐

.box { align-items: flex-start | flex-end | center | baseline | stretch; }

flex-start:交叉轴的起点对齐

57b188b8a97537f7b7611177e3bac759.png

flex-end:交叉轴的终点对齐

c34188e6c067b858b32d9c1a45f1a2d0.png

center:交叉轴的中点对齐

3de7bc4c935ed345179ced6a60279087.png

baseline: 项目的第一行文字的基线对齐

eb86443c7602ef0203bed9302524e85a.png

stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度

8ad8ac112b8d35a66ff7de696cdb3fbf.png

align-content 属性

align-content 属性定义了多根轴线(多行)在交叉轴上的对齐方式。如果项目只有一根轴线(一行),该属性不起作用

.box { align-content: flex-start | flex-end | center | space-between | space-around | stretch; }

flex-start:交叉轴的起点对齐

e8188a1b4a26fb6092f5c21cd2b29918.png

flex-end:与交叉轴的终点对齐

4ba7e37490eb22fe32b6437390eee83f.png

center:与交叉轴的中点对齐

fbfa6d7d8a486c507c974852d44de526.png

space-between:与交叉轴两端对齐,轴线之间的间隔平均分布

a92ef2b3f0d58faa5968cffc922f7687.png

space-around:每根轴线两侧的间隔都相等,所以,轴线之间的间隔比轴线与边框的间隔大一倍

b39751013ad683026de529ecc94a5fde.png

stretch(默认值):轴线占满整个交叉轴

a79bb4a9d88ec591a712ab1b67036bf0.png fe7da1ad72cdfb5f4020ad9b0d24fc23.png

更多前端分享,请关注:

前端路人甲

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值