17370845950

css justify-self与align-self同时使用效果
justify-self 和 align-self 用于 Grid 布局中单个网格项的对齐,前者控制行轴(横向),后者控制列轴(纵向)。取值如 start、end、center、stretch 可实现左/右、顶/底、居中或拉伸效果。两者结合可精确设置网格项在单元格内的二维位置,例如 justify-self: center 与 align-self: center 实现完全居中,而 justify-self: end 与 align-self: start 则实现靠右贴顶。注意仅在 Grid 布局中生效,Flex 等其他布局不支持。

当在 CSS 中同时使用 justify-selfalign-self 时,它们分别控制网格项(grid item)在行轴(inline axis)和列轴(block axis)上的对齐方式。这两个属性只在 Grid 布局中生效,且作用于单个网格项。

justify-self:控制横向对齐

该属性定义网格项在其所在网格区域的行轴方向上的对齐方式。常见取值包括:
  • start:左对齐(LTR)
  • end:右对齐(LTR)
  • center:居中对齐
  • stretch:拉伸以填满整个区域(默认值)

align-self:控制纵向对齐

该属性定义网格项在其所在网格区域的列轴方向上的对齐方式。常见取值包括:
  • start:顶部对齐
  • end:底部对齐
  • center:垂直居中
  • stretch:垂直方向拉伸填充(默认)

两者同时使用的效果

当你在一个网格项上同时设置 justify-selfalign-self,就可以实现二维空间内的精确定位。例如:

.grid-item {
  justify-self: center; /* 水平居中 */
  align-self: center;   /* 垂直居中 */
}

个元素会在其所在的网格单元格内完全居中——既水平居中,也垂直居中。

再比如:

.grid-item {
  justify-self: end;
  align-self: start;
}

元素会靠右对齐并贴顶显示。

注意:如果父容器是 Flex 或其他布局模式,这两个属性无效。它们仅适用于 Grid 子元素。

基本上就这些。只要理解了行轴和列轴的方向,就能准确控制单个网格项的位置。不复杂但容易忽略细节。