使用CSS Grid的grid-template-areas和gap属性可直观实现图文混排布局。通过命名网格区域规划结构,如"image content"定义两列布局,图片在左、文字在右,相同名称区域自动合并。利用gap设置行列间距,避免元素拥挤,提升可读性,推荐使用gap代替margin以保持对齐。结合媒体查询,在小屏幕下调整为"image" "content",实现图片在上、文字在下的响应式切换,无需修改HTML。合理规划区域名称并用gap微调间距,使布局清晰、易维护。

使用CSS Grid实现图文混排,结合grid-template-areas和grid-gap可以让布局更直观、清晰。通过命名网格区域,你能像画布一样规划页面结构,再用grid-gap控制间距,避免元素拥挤。
定义网格容器与区域布局
在父容器上启用Grid布局,并用grid-template-areas划分区域名称。每个字符串代表一行,每个单词代表一列中的一个区域。
.container {
display: grid;
grid-template-areas:
"image content"
"image content";
gap: 20px; /* 等同于 grid-gap */
}
.image {
grid-area: image;
}
.text {
grid-area: content;
}
上面代码将容器分为两行两列,左侧放图片,右侧放文字。即使只写两个"image content",浏览器也会自动合并相同名称的格子。图片会占据左半部分,文字在右。
控制间距:使用 grid-gap 提升可读性
grid-gap(现推荐用gap)用于设置行与列之间的间隔。图文混排中适当的留白能提升阅读体验。
立即学习“前端免费学习笔记(深入)”;
- 设置
gap: 1rem;可在区块间添加统一间距 - 也可分别设置
row-gap和column-gap,如:row-gap: 10px; column-gap: 20px; - 避免使用外边距(margin)手动对齐,容易破坏网格对齐效果
响应式调整:改变区域排列顺序
在小屏幕上,你可能希望图片在上、文字在下。利用媒体查询重新定义grid-template-areas即可轻松切换布局。
@media (max-width: 768px) {
.container {
grid-template-areas:
"image"
"content";
}
}
此时图片独占一行,文字紧随其后,无需改动HTML结构。这种基于CSS的布局重组非常灵活。
基本上就这些。合理运用命名区域和间隙控制,图文混排可以既美观又易于维护。关键是先规划好区域名称,再用gap调细节。不复杂但容易忽略。










