flex弹性布局 grid网格布局(0726)

本文详细介绍了CSS3中的flex弹性布局和grid网格布局。flex布局是CSS3的一种新的布局模式,用于解决复杂布局问题,特别是响应式设计。文中详细解释了容器属性如flex-direction、justify-content和align-items,以及成员属性。grid布局作为二维布局,通过网格线定义区域大小和位置。文章还提及了grid-column-start、grid-row-start等属性以及grid-area、justify-self和align-self属性的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、flex弹性布局是什么

Flexbox 是 flexible box 的简称(注:意思是“灵活的盒子容器”),是 CSS3 引入的新的布局模式。它决定了元素如何在页面上排列,使它们能在不同的屏幕尺寸和设备下可预测地展现出来。

2、容器的属性

容器属性名称属性意义属性可能的值
flex-direction决定item排列方向row,row-reverse,column,column-reverse
justify-contentitem在主轴上的对齐方式flex-start,flex-end,center,space-between,space-around
flex-wrap排列不下时,item如何换行nowrap,wrap,wrap-reverse
align-content侧轴上子元素的排列方式(多行)flex-start,flex-end,center,space-between,space-around,stretch
align-items侧轴上子元素的排列方式(单行)flex-start,flex-end,center,space-between,space-around,stretch
flex-flow复合属性相当于同时设置了flex-direction和flex-wrap
  1. flex-direction:决定主轴的方向
.div {   
    flex-direction: row | row-reverse | column | column-reverse;  
} 

(1)row(默认):主轴为水平方向,起点在左端;
(2)row-reverse:主轴为水平方向,起点在右端;
(3)column:主轴为垂直方向,起点在上沿;
(4)column-reverse:主轴为垂直方向,起点在下沿。
在这里插入图片描述
2. justify-content:在主轴上的对齐方式

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

(1)flex-start(默认值):左对齐
(2)flex-end:右对齐
(3)center:居中
(4)space-between:两端对齐,项目之间的间隔都相等
(5)space-around:两个项目两侧间隔相等
在这里插入图片描述
3. flex-wrap:排列不下时,item如何换行。
(1)nowrap(默认值):不换行
(2)wrap:换行,第一行在下方
(3)wrap-reverse:换行,第一行在上方

  1. align-content :侧轴上子元素的排列方式(多行),如果项目只有一根轴线,该属性不起作用。
    (1)flex-start:与交叉轴的起点对齐
    (2)flex-end:与交叉轴的终点对齐
    (3)center:与交叉轴的中点对齐
    (4)space-between:与交叉轴两端对齐,轴线之间的间隔平均分布
    (5)space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍
    (6)stretch(默认值):轴线占满整个交叉轴

  2. align-items:定义项目在交叉轴上如何对齐
    (1)lex-start:交叉轴的起点对齐
    (2)flex-end:交叉轴的终点对齐
    (3)center:交叉轴的中点对齐
    (4)baseline: 项目的第一行文字的基线对齐
    (5)stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度

3、成员的属性

成员属性名称属性意义属性可能的值
order定义item的排列顺序整数,默认为0,越小越靠前
flex-grow当有多余空间时,item的放大比例默认为0,即有多余空间时也不放大
flex-shrink当空间不足时,item的缩小比例默认为1,即空间不足时缩小
flex-basis项目在主轴上占据的空间长度值,默认为auto
flexgrow,shrink,basis的简写默认值为0 1 auto
align-self单个item独特的对齐方式同align-items,可覆盖align-items属性

二、grid网格布局

1、grid布局是什么

grid布局是一个二维布局,由纵横相交的两组网格线形成的框架性布局结构,能够同时处理行与列。它擅长将一个页面划分为几个主要区域,以及定义这些区域的大小、位置、层次等关系。

2、容器的属性

容器属性名称属性意义属性可能的值
display网格容器类型grid,inline-grid
grid-template-columns列宽
grid-template-rows行高
grid-row-gap行间距
grid-column-gap列间距
grid-template-areas一个区域由一个或者多个单元格组成
grid-auto-flow划分网格以后,容器的子元素会按照顺序,自动放置在每一个网格。
justify-items,align-items单元格内容的水平位置,垂直位置start ,end,center,stretch
justify-content,align-content整个内容区域在容器里面的水平位置,垂直位置start ,end,center,stretch,space-around,space-between,space-evenly

3、项目属性

  1. grid-column-start 属性、grid-column-end 属性、grid-row-start 属性以及grid-row-end 属性
    指定网格项目所在的四个边框,分别定位在哪根网格线,从而指定项目的位置
    (1)grid-column-start 属性:左边框所在的垂直网格线
    (2)grid-column-end 属性:右边框所在的垂直网格线
    (3)grid-row-start 属性:上边框所在的水平网格线
    (4)grid-row-end 属性:下边框所在的水平网格线

  2. grid-area 属性:指定项目放在哪一个区域,与上述讲到的grid-template-areas搭配使用。

  3. justify-self 属性、align-self 属性以及 place-self 属性:
    (1)justify-self属性设置单元格内容的水平位置(左中右),跟justify-items属性的用法完全一致,但只作用于单个项目。
    (2)align-self属性设置单元格内容的垂直位置(上中下),跟align-items属性的用法完全一致,也是只作用于单个项目。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值