0

0

css如何设置Grid容器的大小_利用grid-template-areas定义区域

P粉602998670

P粉602998670

发布时间:2026-02-07 13:15:09

|

290人浏览过

|

来源于php中文网

原创

grid-template-areas仅定义网格区域命名与布局结构,不控制容器尺寸;容器大小由width、height等常规CSS属性决定,且必须配合grid-area使用才能使元素归位,否则按默认流排列。

css如何设置grid容器的大小_利用grid-template-areas定义区域

grid-template-areas 本身不控制容器大小

grid-template-areas 只负责命名和划分网格区域(比如 "header header" "main sidebar"),它不设定容器宽高,也不影响 grid-container 自身尺寸。容器大小仍由常规 CSS 属性决定:比如 widthheightmin-widthmax-width,或父容器的约束、内容撑开等。

常见误解是写了 grid-template-areas 就“自动布局好了”,结果发现容器塌陷或溢出——问题往往出在没显式设尺寸,或子项未配合 grid-area 正确归位。

必须配合 grid-area 才能让元素进入定义的区域

仅声明 grid-template-areas 是无效的,每个子元素必须用 grid-area 指定对应名称,否则它们会按默认流排列(可能堆在第一格,或被忽略)。

  • grid-area 值必须与 grid-template-areas 中某一个字符串完全一致(包括引号内拼写、空格、换行)
  • 区域名不能含空格、连字符开头、数字开头;推荐用小写字母+下划线,如 "hero""nav-bar"
  • 未被 grid-area 引用的区域会留空;同一区域名可被多个元素共用(但通常不推荐,易覆盖)
```css
.container {
  display: grid;
  grid-template-areas:
    "header header"
    "nav main"
    "footer footer";
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.header { grid-area: header; }
.nav { grid-area: nav; }
.main { grid-area: main; }
.footer { grid-area: footer; }
```

响应式中 grid-template-areas 容易断行错位

多行字符串写法对缩进和换行敏感。CSS 解析时,每行字符串必须严格对齐列数,否则区域错位(例如第二行少一个词,整个网格列数就变)。

立即学习前端免费学习笔记(深入)”;

Face++旷视
Face++旷视

Face⁺⁺ AI开放平台

下载

更稳妥的做法:

  • 用单行写法(加换行符 \),避免编辑器自动删空格:grid-template-areas: "header header" \ "nav main" \ "footer footer";
  • 媒体查询中重新定义 grid-template-areas 时,确保所有断点下的行列数逻辑自洽(比如移动端改成单列:"header" "nav" "main" "footer"
  • 不要混用 grid-template-columnsfr 单位和 grid-template-areas 的隐式列数——后者依赖前者推导列数,若列数不匹配,区域会截断或错列

实际尺寸受 grid-auto-rows / grid-auto-columns 影响

当某行/列没在 grid-template-areas 中显式声明(比如只写了两行,但子项有第三行 grid-area),浏览器会用 grid-auto-rowsgrid-auto-columns 补充隐式轨道。这些值默认是 auto,可能导致高度不可控(如文字撑高、图片拉伸)。

建议显式设置:

  • grid-auto-rows: minmax(100px, auto); 防止过矮或过高
  • grid-auto-columns: 1fr; 保持列宽一致(尤其配合 grid-template-areas 的单列响应式切换)
  • 若完全不想触发隐式网格,可设 grid-auto-rows: 0; + overflow: hidden;,但需确认无漏定义区域

真正卡住的往往是 grid-template-areas 字符串格式和 grid-area 名称的细微不一致,以及忘了给容器设宽高或处理隐式轨道——这两处一错,整个布局就“看不见效果”。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

404

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

213

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1514

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

633

2023.11.24

java读取文件转成字符串的方法
java读取文件转成字符串的方法

Java8引入了新的文件I/O API,使用java.nio.file.Files类读取文件内容更加方便。对于较旧版本的Java,可以使用java.io.FileReader和java.io.BufferedReader来读取文件。在这些方法中,你需要将文件路径替换为你的实际文件路径,并且可能需要处理可能的IOException异常。想了解更多java的相关内容,可以阅读本专题下面的文章。

778

2024.03.22

php中定义字符串的方式
php中定义字符串的方式

php中定义字符串的方式:单引号;双引号;heredoc语法等等。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

732

2024.04.29

go语言字符串相关教程
go语言字符串相关教程

本专题整合了go语言字符串相关教程,阅读专题下面的文章了解更多详细内容。

180

2025.07.29

c++字符串相关教程
c++字符串相关教程

本专题整合了c++字符串相关教程,阅读专题下面的文章了解更多详细内容。

85

2025.08.07

Golang处理数据库错误教程合集
Golang处理数据库错误教程合集

本专题整合了Golang数据库错误处理方法、技巧、管理策略相关内容,阅读专题下面的文章了解更多详细内容。

2

2026.02.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.8万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.2万人学习

CSS教程
CSS教程

共754课时 | 28.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号