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布局的理解,小游戏

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

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

相关推荐
JackieDYH4 分钟前
CSS滚动吸附详解:构建精准流畅的滚动体验-scroll-snap-type
前端·css
软件技术NINI1 小时前
html css js网页制作成品——敖瑞鹏html+css+js 4页附源码
javascript·css·html
杀死那个蝈坦1 小时前
监听 Canal
java·前端·eclipse·kotlin·bootstrap·html·lua
秋邱1 小时前
AR 定位技术深度解析:从 GPS 到视觉 SLAM 的轻量化实现
开发语言·前端·网络·人工智能·python·html·ar
BD_Marathon2 小时前
【JavaWeb】HTML_常见标签_表格的跨行和跨列
html
馬致远2 小时前
案例1- 跳动的心
javascript·css·css3
BD_Marathon2 小时前
【JavaWeb】前端三大件——HTML简介
前端·html
魂祈梦3 小时前
页面出现莫名其妙的滚动条
前端·css
izx8883 小时前
从零实现一个“就地编辑”组件:仿 B站个人简介的 EditInPlace 类
javascript·html
草字4 小时前
css 父节点设置display: flex; align-items: center;,子节点如何跟随其他子节点撑高的高度
前端·javascript·css