【css基础篇】初识flex布局

前言:✍️ 欢迎来到 flex布局 篇, 现在我将通过代码来展示flex布局的相关知识

一、justify-content 篇

要说的第一个属性是justify-content 包括以下几个可选值:

  • flex-start: 元素和容器的左端对齐。
  • flex-end: 元素和容器的右端对齐。
  • center: 元素在容器里居中。
  • space-between: 元素之间保持相等的距离。
  • space-around: 元素周围保持相等的距离。

举个例子, justify-content: flex-end; 会将方块移到右边

完整代码: code.juejin.cn/pen/7263779...

代码片段:

css 复制代码
.flex-container {
  display: flex;
  justify-content: flex-end;
  height: 300px;
  background-color: lightgray;
}

二、align-items 篇

align-items 可以帮助我们纵向对齐元素,包括以下几个可选值:

  • flex-start: 元素与容器的顶部对齐。
  • flex-end: 元素与容器的底部对齐。
  • center: 元素纵向居中。
  • baseline: 元素在容器的基线位置显示。
  • stretch: 元素被拉伸以填满整个容器。

例子: align-items: center; 会让方块垂直居中

完整代码: code.juejin.cn/pen/7263827...

代码片段:

css 复制代码
.flex-container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 300px;
  background-color: lightgray;
}

三、flex-direction 篇

当我们需要调整方块的方向时,我们可以使用flex-direction属性,这个 css 属性定义了元素在容器里摆放的方向,并且接受这些值:

  • row: 元素摆放的方向和文字方向一致。
  • row-reverse: 元素摆放的方向和文字方向相反。
  • column: 元素从上放到下。
  • column-reverse: 元素从下放到上。

例子:flex-direction: row-reverse; 让方块在水平基线倒置 1 2 3 => 3 2 1

完整代码: code.juejin.cn/pen/7263830...

代码片段:

css 复制代码
.flex-container {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row-reverse;
  height: 300px;
  background-color: lightgray;
}

如果上述的场景你都掌握了,那么我相信你可以解决开发中的大部分场景问题了
当然 flex 布局的相关属性可不止这些~
让我们继续

四、order 篇

有时候仅仅调转行或列的方向是不够的。在这些情况,我们可以设置单个元素的 order 属性。元素的属性默认值为 0,但是我们设置这个属性为正数或负数。

order来调整方块的顺序

完整代码: code.juejin.cn/pen/7263840...

代码片段:

css 复制代码
.item-1 {
  order: 3;
  background-color: coral;
}

.item-2 {
  order: 1;
  background-color: lightblue;
}

.item-3 {
  order: 2;
  background-color: lightgreen;
}

五、align-self 篇

另一个你可以使用的控制单个元素的属性是 align-self。这个属性接受和 align-items 一样的那些值。

完整代码: code.juejin.cn/pen/7263843...

代码片段:

css 复制代码
.item-1 {
  align-self: flex-start;
}

.item-2 {
  align-self: center;
}

.item-3 {
  align-self: flex-end;
}

六、flex-wrap 篇

flex-wrap 是一种用于控制网页布局的 CSS 属性,它决定了当一行空间不足以容纳所有的元素时,是否允许这些元素换行显示。

这个属性接受这些值:

  • nowrap: 所有的元素都在一行。
  • wrap: 元素自动换成多行。
  • wrap-reverse: 元素自动换成逆序的多行。

规定宽度,使用wrap让方块换行

完整代码: code.juejin.cn/pen/7264048...

代码片段:

css 复制代码
.flex-container {
  display: flex;
  flex-wrap: wrap;
  width: 400px;
  height: 300px;
  background-color: lightgray;
}

注意: flex-directionflex-wrap 两个属性经常会一起使用,所以有缩写属性 flex-flow。这个缩写属性接受两个属性的值,两个值中间以空格隔开。

举个例子,你可以用 flex-flow: row wrap 去设置行并自动换行。

七、align-content 篇

你可以使用 align-content 来决定行与行之间隔多远, 这个属性接受这些值:

  • flex-start: 多行都集中在顶部。
  • flex-end: 多行都集中在底部。
  • center: 多行居中。
  • space-between: 行与行之间保持相等距离。
  • space-around: 每行的周围保持相等距离。
  • stretch: 每一行都被拉伸以填满容器。

让方块换行,从而设置align-content: space-between, 只有一行的时候是无效的

完整代码: code.juejin.cn/pen/7264052...

代码片段:

css 复制代码
.flex-container {
  display: flex;
  width: 400px;
  flex-wrap: wrap;
  align-content: space-between;
  height: 300px;
  background-color: lightgray;
}

总结

好了,现在让我们来回顾一下 flex 布局相关的 css 属性

  • justify-content: 用于定义 Flexbox 容器中项目沿主轴(水平轴)的对齐方式
  • align-items: 用于定义 Flexbox 容器中项目沿交叉轴(垂直轴)的对齐方式
  • flex-direction: 用于定义 Flexbox 容器中项目的排列方向
  • order: 用于定义 Flexbox 容器中项目的排列顺序
  • align-self: 用于定义单个项目在 Flexbox 容器中沿交叉轴(垂直轴)的对齐方式
  • flex-wrap: 用于定义 Flexbox 容器中项目的换行方式
  • flex-flow: 是 flex-direction 和 flex-wrap 属性的缩写形式,用于同时设置这两个属性的值
  • align-content: 用于定义 Flexbox 容器中多行项目在交叉轴上的对齐方式
相关推荐
weixin_382395233 小时前
为小工厂量身打造:本地部署的物料管理系统带缺料计算
前端·制造
__zRainy__4 小时前
解决pnpm v10+不自动构建
前端·pnpm·工程化
猫猫不是喵喵.4 小时前
Vue3 Props 属性
前端·javascript·vue.js
醉城夜风~5 小时前
CSS元素显示模式(display)
前端·css
AI大模型-小华6 小时前
Codex 三方充值快速入门指南
java·前端·数据库·chatgpt·ai编程·codex·chatgpt pro
做前端的娜娜子8 小时前
同一链接实现 PC Web 与移动 H5 自适应
前端·掘金·金石计划
小帅不太帅8 小时前
架构没变、规模没变,DeepSeek V4 Flash 正式版凭什么暴涨 47 分?
前端·aigc·deepseek
jarvisuni9 小时前
DeepSeekFlash前端依旧拉垮,而且变慢了很多!
前端·javascript·算法
卷福同学10 小时前
AI编程出海第二步:验证关键词能否做站
前端·人工智能·后端