Flexbox:与自动边距对齐

2025-06-10

Flexbox:与自动边距对齐

SamanthaMing.com 的 Flexbox30

注意:这是我的 Flexbox30 系列的精简转发。本系列文章要求读者具备 Flexbox 的相关知识。所以,如果你是 Flexbox 新手,我建议你先去看看这个系列文章 (链接)。没错,这是一门免费课程 😄


水平对齐,自动边距

您了解到 align-self 可以控制子项在横轴上的对齐方式。您的下一个问题可能是“主轴上有没有类似的属性,比如说“justify-self”🤔 好问题!很遗憾,答案是否定的😅。但我们有一个现成的 CSS 属性可以使用!那就是自动边距。我们可以用它来控制特定元素的水平对齐方式。

使用 margin-right:auto 和 margin-left:auto 进行水平对齐

垂直对齐与自动边距

实际上,您还可以使用自动边距来控制特定元素的垂直对齐。

使用 margin-top:auto 和 margin-bottom:auto 进行垂直对齐

使用自动边距居中对齐

如果你将所有边距(左、右、上、下)都设置为简写边距,实际上你就把这个子元素在水平和垂直方向上都居中了!

使用 margin:auto 居中对齐


自动边距示例

以下是一些自动边距真正发挥作用的例子!导航栏的布局风格随心所欲,效果非常棒🤩

自动边距示例


我应该用哪一个🤔

我敢打赌,你现在肯定头晕目眩,不知道该用哪个,什么时候用什么(选择的问题,我说得对吗?)😅。以下是我的做法:

  1. 始终使用Flexbox属性
  2. 如果不可能,请使用自动边距

理由是什么?我认为 Flexbox 属性比“自动边距”更直观,也更清晰易懂。试一下:



.child {
  align-self: flex-end;
}


Enter fullscreen mode Exit fullscreen mode

对比



.child {
  margin-top: auto;
}


Enter fullscreen mode Exit fullscreen mode

即使你对 Flexbox 一无所知,只要读一下这段代码,你就能知道child是对齐到末尾的。然而margin-top: auto, 的具体样子你却有点摸不着头脑。当然,这只是我的建议。你可以自由选择适合你和你团队的方式😊


Flexbox30 链接

Flexbox30:30 天学习 Flexbox,30 个代码片段
Flexbox:与自动边距对齐(完整版)


感谢阅读❤
打个招呼!Instagram | Twitter | Facebook |博客| SamanthaMing.com

鏂囩珷鏉ユ簮锛�https://dev.to/samanthaming/flexbox-aligning-with-auto-margins-4gfh
PREV
如何在 JavaScript 中检查数组是否包含值?
NEXT
使用 JavaScript 中的解构提取函数参数 使用 JavaScript 中的解构提取函数参数