css grid布局中对齐方式如何控制_通过justify和align系列属性说明
发布时间 - 2026-01-30 00:00:00 点击率:次justify-items和align-items控制子项在单元格内的行内轴(水平)和块轴(垂直)对齐,默认stretch;justify-content和align-content对齐整个网格轨道,仅在轨道未填满容器时生效;justify-self和align-self可覆盖单个子项对齐。
justify-items 和 align-items 控制所有子项的默认对齐
这两个属性作用于 grid 容器,为所有 grid-item 设置统一的对齐基准。它们不改变网格线位置,只调整内容在单元格内的“摆放姿势”。
-
justify-items控制**行内轴(inline axis)** 对齐,即水平方向(LTR 下从左到右),取值如start、center、end、stretch -
align-items控制**块轴(block axis)** 对齐,即垂直方向,取值同上 - 默认值都是
stretch,所以子项常被拉满整个单元格——这容易误以为是“没生效”,其实是它太尽责了 - 若某子项自身设置了
justify-self或align-self,会覆盖容器级设置
justify-content 和 align-content 处理整个网格轨道的定位
当所有 grid 轨道加起来撑不满容器时,这两者才起作用。它们对齐的是**网格轨道整体**(即所有行/列组成的那个“大盒子”),不是单个子项。
-
justify-content沿**行内轴**分布轨道(比如多列窄了,左右留白怎么分) -
align-content沿**块轴**分布轨道(比如三行高度总和远小于容器高,行间距怎么分配) - 常见值:
start(贴边)、center(居中)、space-between(首尾贴边,中间等距)、space-around、space-evenly - 注意:
align-content在只有一行或一列时无效——没“内容可分布”
justify-self 和 align-self 覆盖单个子项对齐
这是最细粒度的控制,直接写在 grid 子项上,优先级高于容器上的 justify-items 和 align-items。
- 适用于需要某个按钮居右、某个头像垂直居中、某个卡片底部对齐等场景
- 支持
self-start/self-end,表示按该子项自身的书写模式对齐(比如 RTL 下self-start是右边) - 不能用于
display: contents的子项——它已脱离盒模型,没“自身”可对齐了 - 与
place-self简写等价:place-self: center end≡justify-self: end; align-self: center
别混淆 justify/align 的轴向和适用层级
最容易出错的是记混哪个属性管哪一层、哪根轴。记住一个口诀:「容器设项,内容设轨;inline 是行,block 是列」。
-
justify-*一律作用于**行内轴**(默认水平),align-*一律作用于**块轴**(默认垂直) -
-items和-self都是对齐**子项内容**;-content是对齐**轨道集合** - Flexbox 里也有同名属性,但 Flexbox 没有
align-content对多行的有效控制(只有 wrap 后的行间分布),而 Grid 的align-content是真能精确调度每行间隙的 - 如果设置了
grid-auto-rows: minmax(100px, auto)却发现align-content: center不生效,大概率是因为所有行高度已由内容撑开,没留下可分配的剩余空间
.container {
display: grid;
grid-template-columns: 1fr 2fr 1fr;
grid-template-rows: auto 100px;
justify-items: center;
align-items: start;
justify-content: space-evenly;
align-content: start;
}
.item-a {
justify-self: end;
align-self: stretch;
}
.item-

b {
place-self: center;
}实际布局中,justify-content 和 align-content 的生效条件比想象中苛刻,很多人调了半天没反应,其实只是网格轨道已经填满容器了。
# css
# ai
# 垂直居中
# grid布局
# auto
# display
# 的是
# 都是
# 行间
# 作用于
# 这是
# 也有
# 是因为
# 很多人
# 适用于
# 这两个
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】
晋江文学城电脑版官网 晋江文学城网页版直接进入
简单实现jsp分页
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
如何在Ubuntu系统下快速搭建WordPress个人网站?
Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤
如何在Windows环境下新建FTP站点并设置权限?
Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程
如何快速辨别茅台真假?关键步骤解析
北京的网站制作公司有哪些,哪个视频网站最好?
用v-html解决Vue.js渲染中html标签不被解析的问题
Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优
Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南
如何快速生成橙子建站落地页链接?
1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤
Python文本处理实践_日志清洗解析【指导】
JavaScript模板引擎Template.js使用详解
详解jQuery中基本的动画方法
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置
Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
如何在七牛云存储上搭建网站并设置自定义域名?
免费网站制作appp,免费制作app哪个平台好?
Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理
如何登录建站主机?访问步骤全解析
Android GridView 滑动条设置一直显示状态(推荐)
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
html文件怎么打开证书错误_https协议的html打开提示不安全【指南】
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
Android自定义控件实现温度旋转按钮效果
如何在万网ECS上快速搭建专属网站?
Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程
如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
网站建设要注意的标准 促进网站用户好感度!
Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置
如何在万网开始建站?分步指南解析
Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法
微信推文制作网站有哪些,怎么做微信推文,急?
Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理
在Oracle关闭情况下如何修改spfile的参数
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
php结合redis实现高并发下的抢购、秒杀功能的实例
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?


