使用 Flexbox 或 CSS Grid 可实现固定与自适应列宽布局。1. Flexbox:父容器设 display: flex,固定列设 width,自适应列设 flex: 1;2. Grid:父容器设 display: grid,用 grid-template-columns 定义如 150px 1fr 1fr,实现固定与比例分配。适用于侧边栏+内容区选 Flexbox,复杂多列选 Grid。

要实现固定列宽与自适应列宽的组合布局,最常用的方式是使用 Flexbox 或 CSS Grid。这两种方法都能轻松控制某些列固定宽度,其他列自动填充剩余空间。
使用 Flexbox 实现
Flexbox 非常适合这种场景。通过设置某些元素为固定宽度,另一些元素设置 flex: 1,即可让其自动伸缩。
示例:左侧固定 200px,右侧自适应
固定列自适应列
CSS 关键点:
立即学习“前端免费学习笔记(深入)”;
- 父容器设置 display: flex
- 固定列设置具体宽度,如 width: 200px
- 自适应列设置 flex: 1,表示占据剩余所有可用空间
使用 CSS Grid 实现
Grid 布局更直观,尤其适合多列复杂结构。
示例:第一列固定 150px,其余两列平均分配剩余空间
固定自适应1自适应2
CSS 关键点:
立即学习“前端免费学习笔记(深入)”;
- 父容器设置 display: grid
- 使用 grid-template-columns 定义列宽
- 用 px 设置固定列,用 fr 单位让其他列按比例分配剩余空间
实际应用场景建议
根据需求选择合适的方法:
- 简单左右结构(如侧边栏+内容区)推荐使用 Flexbox
- 多列或需要精确控制网格的布局,使用 Grid
- 响应式设计中,可结合媒体查询动态调整固定列是否显示或变宽
基本上就这些,两种方式都很实用,选哪个取决于整体布局复杂度。










