前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
首页程序员面试题库CSS Grid align-content与justify-content轨道对齐
CSSGrid 布局

align-content、justify-content 和 place-content 怎么分工?

align-content 沿块轴对齐整组行轨,justify-content 沿行内轴对齐整组列轨。place-content 按前者、后者的顺序写两轴值;只写一个值时两轴共用。它们移动或分配轨道周围的空白,不负责格子内的项目对齐。

前端进阶之旅 · 一题精讲更新于 2026.09.29
CSS#Grid 布局#CSS Grid
先看核心答案读代码示例
理解线索

两轴的轨道组对齐

  1. 块轴align-content 处理行轨位置
  2. 行内轴justify-content 处理列轨位置
  3. 简写place-content 一次指定两轴

place-content 的第一个值对应 align-content,第二个才对应 justify-content。

核心回答

先记住这个答案

align-content 管 Grid 轨道组在块轴上的位置,justify-content 管行内轴上的位置。place-content 是它们的简写,两个值依次给 align-content、justify-content;只写一个值会用于两个轴。这些属性只有在容器内容盒与轨道组之间有可分配的额外空间时才容易看到效果,不能把它们当作网格项目内部居中的工具。

  • align-content 管块轴轨道组
  • justify-content 管行内轴轨道组
  • place-content 先写块轴,再写行内轴
  • 没有多余空间就看不出对齐效果

两个轴分别做什么

通常横排文字页面里,行内轴近似水平、块轴近似垂直。固定宽度的列轨总宽比容器小时,justify-content: center 可以把整组列放到中间。固定高度的行轨总高比容器小时,align-content: center 可把整组行垂直居中。换成竖排书写模式后,物理方向会改变,因而应记住逻辑轴而不是死背“一个横、一个竖”。

两轴采用不同对齐方式CSS
.board {
  display: grid;
  width: 500px;
  height: 300px;
  grid-template-columns: 100px 100px;
  grid-template-rows: 80px 80px;
  place-content: center space-between;
}
/* 行轨整体在块轴居中,列轨沿行内轴分散 */

若写 place-content: center,两轴都会居中。这里两列本身各 100px,多余水平空间分配到列轨之间;两行本身各 80px,整组行轨放在容器块轴中间。place-items 是另一组简写,控制每个项目在自己网格区域里的位置,不能与 place-content 混用。

为什么某些布局上不起作用

列模板用 1fr 1fr 时,弹性列已经分走行内轴自由空间,justify-content: space-between 通常没有剩余空间可分。容器高度由内容撑开、没有额外高度时,align-content: center 也不容易看到效果。先算轨道与 gap 的总尺寸,再比较容器内容盒尺寸,比反复调对齐值有效。

如果轨道总尺寸大于容器,对齐属性也不能替代溢出处理。固定列总宽 600px 放在 400px 的容器里,place-content: center 不会将每列压缩至 200px;要改轨道尺寸、允许换行或安排滚动。

回答前,多想一步

容易答错的地方

把 place-content 的参数顺序写反
两值依次是块轴的 align-content 和行内轴的 justify-content,不是先水平再垂直的固定顺序。
用 align-content 让单个按钮在格子里居中
它移动轨道组。按钮在自己格子里的位置应由 align-items 或 align-self 控制。
试着用自己的话回答

面试官还会怎么问?

place-content: center 等价于什么?

等价于两个轴的内容对齐都取 center,即 align-content: center 和 justify-content: center。

为什么 justify-content 没推动两条 1fr 列?

它们通常已占满行内轴可用空间,没有额外空间可分配。

怎样只调整一张项目的位置?

使用 align-self 或 justify-self,而不是改变整组轨道的内容对齐。

从一道题,走向一组知识

把知识连起来

Grid 布局

Grid 项目设置 order 后,自动放置和阅读顺序会怎样?

视觉顺序与 DOM 顺序不同的问题不会因轨道整体对齐而解决。

Grid 布局

Grid 的 repeat() 怎样生成重复轨道,auto-fit 又有什么用?

repeat() 生成的列轨也参与整组轨道的自由空间分配。

参考资料

  • CSS:Grid 布局参考资料

示例用于理解所注明的运行环境与边界;延伸学习可结合原文中的更多案例。

本题目录
  1. 先记住这个答案
  2. 两个轴分别做什么
  3. 为什么某些布局上不起作用
  4. 容易答错的地方
  5. 面试官还会怎么问
  6. 把知识连起来
读懂,再试着讲出来

先看核心答案,再读代码。最后展开追问,检查自己有没有遗漏边界。

试着回答追问
浏览全部面试题理解原理,也关注真实的使用场景。回到顶部 ↑