CSS布局——Flexbox布局中的对齐方式

你好,我是小白Coding日志,一个热爱技术的程序员。在这里,我分享自己在编程和技术世界中的学习心得和体会。希望我的文章能够给你带来一些灵感和帮助。欢迎来到我的博客,一起在技术的世界里探索前行吧!

justify-content 沿主轴分配空间

justify-content 属性用来设置Flex项目在主轴上的对齐方式(分配主轴容器剩余空间)

属性值
描述
flex-start 沿着主轴起始位置对齐项目
flex-end 沿着主轴终点位置对齐项目
center 沿着主轴居中对齐项目,通常可以用来实现元素水平居中
space-between 会让主轴上第一个项目和容器起始位置对齐,最后一个项目和容器终点位置对齐,中间其他项目之间保持相等的间距
space-around 会让主轴上第一个项目和最后一个项目距离容器的开始位置和终点位置的距离是其相邻连个元素的二分之一,中间元素保持相等的距离
space-evenly 会让主轴上每一个项目之间的距离相等

align-content 沿侧轴分配空间

align-content 属性用来设置Flex项目在侧轴上的对齐方式(分配侧轴容器剩余空间)

注意:当只有flex-wrap: wrap或者flex-wrap: wrap-reverse的时候align-content的设置才有效

属性值

justify-content的值差不太多,但是额外多了stretch属性值

描述
flex-start 沿着侧轴起始位置对齐项目
flex-end 沿着侧轴终点位置对齐项目
center 沿着侧轴居中对齐项目,通常可以用来实现元素垂直居中
space-between 会让侧轴上第一行项目和容器起始位置对齐,最后一行项目和容器终点位置对齐,中间其他项目之间保持相等的间距
space-around 会让侧轴上第一行项目和最后一行项目距离容器的开始位置和终点位置的距离是其相邻连个元素的二分之一,中间元素保持相等的距离
space-evenly 会让侧轴上每一行项目之间的距离相等
stretch 默认值。如果项目没有设置高度元素被拉伸以适应容器
start 同flex-start
end 同flex-end

沿侧轴对齐Flex项目

沿侧轴对齐Flex项目指的是侧轴上单行项目或者单个项目的对齐方式,例如在一行项目不需要换行的情况下项目之间的对齐方式,或者某个项目自身的对齐。此时可以使用align-items和align-self

align-items

用来设置Flex行在侧轴上的对齐方式

属性值
描述
flex-start 沿着侧轴起始位置对齐项目
flex-end 沿着侧轴终点位置对齐项目
center 沿着侧轴中间位置对齐项目,Flex项目处于容器中心位置
stretch 默认值。如果项目没有设置高度元素被拉伸以适应容器
baseline 元素位于容器的基线上。如弹性盒子元素的行内轴与侧轴为同一条,则该值与'flex-start'等效。其它情况下,该值将参与基线对齐。
start 同flex-start
end 同flex-end
align-self

用来设置单个Flex项目在侧轴上的对齐方式

属性值
描述
auto 默认值。元素继承了它的父容器的 align-items 属性。如果没有父容器则为 "stretch"。
flex-start 沿着侧轴起始位置对齐单个项目
flex-end 沿着侧轴终点位置对齐单个项目
center 沿着侧轴中间位置对齐单个项目,Flex单个项目处于容器中心位置
stretch 默认值。如果项目没有设置高度元素被拉伸以适应容器
baseline 元素位于容器的基线上。如弹性盒子元素的行内轴与侧轴为同一条,则该值与'flex-start'等效。其它情况下,该值将参与基线对齐。

最后,一个小具有趣味性的小游戏用来加深对Flex布局的理解,小游戏

最后还是那句话:即使代码逻辑很简单,也值得记录下来。我的编程目标是避免重复造轮子!😊

如果觉得有用,就给我点个赞吧😁

相关推荐
CodeCraft Studio10 小时前
借助Aspose.HTML控件,在 Python 中将 HTML 转换为 Markdown
开发语言·python·html·markdown·aspose·html转markdown·asposel.html
涔溪12 小时前
响应式前端设计:CSS 自适应布局与字体大小的最佳实践
前端·css
冰菓Neko12 小时前
HTML 常用标签速查表
前端·html
代码的余温15 小时前
CSS3文本阴影特效全攻略
前端·css·css3
每天开心15 小时前
告别样式冲突:CSS 模块化实战
前端·css·代码规范
qq_三哥啊17 小时前
【HTML】<script>元素中的 defer 和 async 属性详解
html·js
3Katrina19 小时前
我仿造了一个掘金App的首页...
前端·css
Dxy123931021620 小时前
Python HTML模块详解:从基础到实战
开发语言·python·html
Amodoro1 天前
nuxt更改页面渲染的html,去除自定义属性、
前端·html·nuxt3·nuxt2·nuxtjs
伍哥的传说1 天前
CSS+JavaScript 禁用浏览器复制功能的几种方法
前端·javascript·css·vue.js·vue·css3·禁用浏览器复制