css初学者制作九宫格不平均怎么办_使用grid-template统一分列比例
技术百科
P粉602998670
发布时间:2026-01-26
浏览: 次 九宫格不齐主因是行列未明确约束,应使用minmax(0,1fr)定义比例并设justify-items/align-items为stretch,重置margin/padding/box-sizing,用gap替代margin控制间距。
九宫格不平均,通常不是格子“长歪了”,而是列宽或行高没被明确约束——Grid 默认按内容 
grid-template-columns 和 grid-template-rows 主动定义比例,而不是依赖 repeat(3, 1fr) 这类看似均分、实则易受内容干扰的写法。
用固定比例代替 fr 单位(更可控)
fr 是“剩余空间等分”,一旦某格内容撑开(比如一张大图或一段长文本),整行就会被它带偏。换成具体比例更稳:
-
grid-template-columns: 1fr 1fr 1fr→ 改成grid-template-columns: 33.33% 33.33% 33.34%或更推荐grid-template-columns: repeat(3, 1fr)+grid-auto-columns: 0配合minmax() - 真正推荐:用
minmax(0, 1fr),它能强制截断溢出内容,防止单格撑大整体布局:grid-template-columns: repeat(3, minmax(0, 1fr));grid-template-rows: repeat(3, minmax(0, 1fr));
统一格子尺寸,靠 justify-items 和 align-items
即使列行比例定了,每个格子内部的内容仍可能上下左右“漂移”,造成视觉不齐。加这两行立刻对齐:
-
justify-items: stretch;(默认值,确保内容水平撑满) -
align-items: stretch;(确保内容垂直撑满) - 如果格子里是图片或按钮,再加
width: 100%; height: 100%,避免它们自带尺寸破坏整齐感
去掉干扰项:重置 margin、padding、box-sizing
初学者常忽略这些隐性影响:
- 所有格子设
margin: 0; padding: 0;,避免内边距/外边距偷走空间 - 全局加
* { box-sizing: border-box; },让 padding 不额外增加宽度 - 图片默认是 inline 元素,有基线间隙,加
vertical-align: top;或设为display: block;
加 gap 比用 margin 更安全
想让九宫格有间距?别给每个格子加 margin(容易导致首尾多出空白、响应错乱),改用 Grid 原生 gap:
-
gap: 8px;同时控制行列间距 -
row-gap: 10px; column-gap: 6px;可分别设置 - gap 不会影响 grid 容器总宽,也不触发 margin 折叠问题
基本上就这些。不用大改结构,加几行关键声明,九宫格就能从“看起来差不多”变成“一眼就齐”。不复杂但容易忽略。
# 就会
# 就能
# 这类
# 也不
# 想让
# 会让
# 参差不齐
# 九宫格
# css
# 设为
# auto
# border
# display
# column
# padding
# 上下左右
# 内边距
# margin
# 外边距
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- Win11无法拖拽文件到任务栏怎么办_Win11开
- Win11快速助手怎么用_Win11远程协助连接教
- Mac怎么开启“任何来源”_Mac安装未签名应用的
- Win11怎么设置声音输出设备_Windows11
- Win11怎么设置任务栏图标大小_Windows1
- c++中如何进行二进制文件读写_c++ read与
- Linux怎么查找死循环进程_Linux系统负载分
- PHP接收参数值为空怎么办_判断和处理空参数方法说
- php订单日志怎么记录发货_php记录订单发货操作
- php订单日志怎么记录评价_php记录订单评价日志
- Windows怎样拦截QQ浏览器广告_Window
- Win11如何更新显卡驱动 Win11检查和安装设
- Linux如何安装Golang环境_Linux下G
- 如何使用Golang安装依赖库_管理模块和第三方包
- 如何使用Golang table-driven f
- 如何使用正则表达式批量替换重复的星号-短横模式为固
- Python网页解析流程_html结构说明【指导】
- Win11怎样彻底卸载自带应用_Win11彻底卸载
- Python集合操作技巧_高效去重解析【教程】
- Mac怎么安装软件_Mac安装dmg与pkg文件的
- 手机php怎么转mp4_手机端php文件转mp4a
- Win11怎么更改电脑密码_Windows 11修
- Mac自带的词典App怎么用_Mac添加和使用多语
- Win11怎么设置桌面图标间距_Windows11
- Win11怎么更改计算机名_Windows11系统
- Win11怎么修复系统文件_使用sfc命令修复Wi
- Win11怎么关闭防火墙通知_屏蔽Win11安全中
- Win11怎样安装企业微信_Win11安装企业微信
- 如何使用Golang捕获测试日志_Golang t
- C++中的std::shared_from_thi
- Windows10如何更改系统字体大小_Win10
- php转exe用什么工具打包快_高效打包软件推荐【
- Windows10怎么查看系统激活状态_Windo
- Win11怎么快速锁屏_Win11一键锁屏快捷键W
- Python数据抓取合法性_合规说明【指导】
- Win11怎么设置闹钟_Windows 11时钟应
- 如何在 Windows 11 中使用 AlomWa
- win11如何清理传递优化文件 Win11为C盘瘦
- Linux如何安装Tomcat应用服务器_Linu
- Mac的“调度中心”与“空间”怎么用_Mac多桌面
- Win10怎么更改用户名 Win10修改账户名称操
- Win10怎样设置多显示器_Win10多显示器扩展
- 如何使用Golang实现跨域请求支持_Golang
- 如何使用Golang读取日志文件_Golang b
- 如何使用Golang实现容器健康检查_监控和自动重
- Ajax提交表单PHP怎么接收_处理Ajax发送的
- Python模块的__name__属性如何由导入方
- c++怎么实现大文件的分块读写_c++ 文件指针s
- Win11怎么关闭SmartScreen_禁用Wi
- Win11文件扩展名怎么显示_Win11查看文件后

QQ客服