0

0

css grid布局与固定大小与流动大小混合_实现灵活布局

P粉602998670

P粉602998670

发布时间:2026-01-07 13:30:09

|

680人浏览过

|

来源于php中文网

原创

混用 px、fr 和 % 在 grid-template-columns 中虽不报错但易出错,可靠方式是 px + fr 或 px + minmax();minmax() 须用绝对/相对单位且顺序为最小尺寸、最大尺寸;grid-auto-columns 仅影响隐式列;gap 会减少 fr 可分配空间。

css grid布局与固定大小与流动大小混合_实现灵活布局

grid-template-columns 里混用 pxfr% 是安全的

直接写 grid-template-columns: 200px 1fr 30% 不会报错,浏览器也能解析,但结果往往不符合预期——因为 % 在 Grid 中是相对于网格容器宽度计算的,而 fr 是剩余空间分配单位,两者逻辑冲突。真正可靠的混合方式是用 px + fr,或 px + minmax()

  • fr 单位只在显式定义的轨道中参与剩余空间分配,不与百分比共存于同一轨道定义中
  • 固定列(如侧边栏)优先用 pxrem,主内容区用 1fr,确保伸缩可控
  • 若需响应式固定值(如“最小 240px,最大 320px”),必须包裹进 minmax(240px, 320px),不能写 240px 320px

minmax() 实现“固定下限 + 流动上限”列宽

这是混合布局最常用也最稳定的模式。比如左侧导航栏希望至少 220px、最多不超 280px,右侧主内容自动填满剩余空间,就该这样写:

grid-template-columns: minmax(220px, 280px) 1fr;

注意:minmax() 的第一个参数是**最小尺寸**,第二个是**最大尺寸**,顺序反了会导致列宽锁死或崩溃;它不接受百分比作为参数(如 minmax(20%, 1fr) 无效)。

  • 支持 pxemremch 等绝对/相对单位,但不能混入 fr 到同一个 minmax()
  • 若想让某列“尽可能小但不小于内容宽度”,可用 minmax(min-content, 1fr),但性能略低,慎用于复杂子元素
  • 搭配 auto-fitauto-fill 时,minmax() 才真正发挥响应式作用

grid-auto-columns 遇到显式 grid-template-columns

很多人误以为设置了 grid-template-columns: 200px 1fr 后,后续新增的列会自动按规则延展——其实不会。grid-auto-columns 只对**超出显式定义列数的隐式列**生效。例如:

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

腾讯交互翻译
腾讯交互翻译

腾讯AI Lab发布的一款AI辅助翻译产品

下载
.container {
  display: grid;
  grid-template-columns: 200px 1fr;
  grid-auto-columns: 150px; /* 这个只影响第3列、第4列…… */
}

如果子元素数量超过两列(比如有 5 个 div),第 3 个起才会应用 150px 宽度,且默认换行到新行(除非设了 grid-auto-flow: column)。

  • 显式列定义优先级永远高于 grid-auto-columns
  • 不要指望靠 grid-auto-columns 来“补足”响应式断点下的列行为,它不是媒体查询替代品
  • 调试时可临时加 outline: 1px solid red 到子项,快速识别哪些列是显式、哪些是隐式生成的

flexible 但别忘了 grid-gap 会吃掉可用空间

设置 gap: 16px 后,所有轨道之间的空隙会从容器总宽中扣除——这意味着 1fr 分配的是「减去 gap 后的剩余空间」。如果列多、gap 大,实际每列宽度可能比预期窄不少。

  • gap 值本身不参与 fr 计算,但它减少了可用于分配的总像素数
  • 避免在 minmax() 内部尝试抵消 gap(比如写 minmax(calc(240px + 16px), ...)),无效且难维护
  • 如需精确控制内容区域宽度,建议把 padding 或 margin 加在子项内部,而非依赖 gap 挤占空间

实际项目中最容易被忽略的是:显式列定义和隐式列行为的边界模糊,以及 gapfr 分配结果的静默影响。这两点不画出容器盒模型、不 inspect 元素宽度,几乎无法凭直觉判断最终渲染效果。

热门AI工具

更多
DeepSeek
DeepSeek

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

豆包大模型
豆包大模型

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

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

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

文心一言
文心一言

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

讯飞写作
讯飞写作

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

即梦AI
即梦AI

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

ChatGPT
ChatGPT

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

相关专题

更多
margin在css中是啥意思
margin在css中是啥意思

在CSS中,margin是一个用于设置元素外边距的属性。想了解更多margin的相关内容,可以阅读本专题下面的文章。

467

2023.12.18

css中的padding属性作用
css中的padding属性作用

在CSS中,padding属性用于设置元素的内边距。想了解更多padding的相关内容,可以阅读本专题下面的文章。

175

2023.12.07

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

76

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

38

2026.03.10

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

83

2026.03.09

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

97

2026.03.06

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

223

2026.03.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

458

2026.03.04

AI安装教程大全
AI安装教程大全

2026最全AI工具安装教程专题:包含各版本AI绘图、AI视频、智能办公软件的本地化部署手册。全篇零基础友好,附带最新模型下载地址、一键安装脚本及常见报错修复方案。每日更新,收藏这一篇就够了,让AI安装不再报错!

169

2026.03.04

热门下载

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

精品课程

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

共14课时 | 0.9万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.6万人学习

CSS教程
CSS教程

共754课时 | 42.4万人学习

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

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