css Grid模板列fr单位与px混合使用

fr单位与px可混合使用,实现固定与自适应列布局。例如grid-template-columns: 200px 1fr 2fr时,容器总宽减去200px后,剩余空间按1:2分配给后两列,适用于侧边栏+主内容等场景,需注意fr仅分配剩余空间,可用minmax()防止压缩。

css Grid模板列fr单位与px混合使用

css Grid 布局中,fr 单位和 px 可以混合使用来定义列的宽度,这种组合非常实用,尤其当你需要一部分固定宽度、另一部分自适应剩余空间时。

fr 和 px 混合的基本原理

fr(fraction)表示可用空间的一部分,而 px 是固定像素值。Grid 容器的总宽度减去所有固定尺寸(如 px、em 等)后,剩下的空间会按 fr 的比例分配给弹性列。

例如:

 .grid-container {   display: grid;   grid-template-columns: 200px 1fr 2fr; } 

这个布局包含三列:

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

  • 第一列固定为 200px
  • 第二列占剩余空间的 1/3
  • 第三列占剩余空间的 2/3

假设容器总宽为 900px,那么:

css Grid模板列fr单位与px混合使用

AiPPT模板广场

AiPPT模板广场-PPT模板-word文档模板-excel表格模板

css Grid模板列fr单位与px混合使用50

查看详情 css Grid模板列fr单位与px混合使用

  • 固定列占用 200px
  • 剩余空间 = 900 – 200 = 700px
  • 1fr + 2fr = 3fr → 每个 fr 约 233.33px
  • 第二列 ≈ 233.33px,第三列 ≈ 466.66px

常见使用场景

混合使用 fr 和 px 能满足多种实际布局需求:

  • 侧边栏 + 主内容区:侧边栏固定宽度,主内容自适应
  • 工具栏 + 工作区工具栏用 px 固定,工作区用 fr 填充剩余空间
  • 响应式卡片布局:左侧图标区域固定,右侧文本区域灵活扩展

示例代码:

 .sidebar-layout {   display: grid;   grid-template-columns: 250px 1fr;   gap: 16px; } 

左侧导航固定 250px,右侧内容自动填充剩余宽度,适合后台管理系统或文档页面。

注意事项

使用 fr 和 px 混合时需注意以下几点:

  • fr 只分配剩余空间,不会影响固定列的尺寸
  • 如果容器太窄,fr 列可能被压缩到最小内容宽度,导致溢出
  • 可以结合 minmax() 防止列过窄,例如:grid-template-columns: 200px minmax(300px, 1fr)
  • 不要在所有列都使用 px,否则无法响应容器大小变化

基本上就这些。合理搭配 fr 和 px,能让 Grid 布局既灵活又可控。不复杂但容易忽略的是剩余空间的计算逻辑——理解这一点,就能更精准地控制布局行为。

以上就是

上一篇
下一篇
text=ZqhQzanResources