固定宽度与弹性布局结合可通过Flexbox、calc()或Grid实现;如侧边栏固定宽,主内容区自适应:用Flexbox设flex:1,或calc(100%-固定值),或Grid的fr单位分配剩余空间。

在现代网页布局中,固定宽度和弹性布局结合使用能有效适应不同场景。比如侧边栏固定宽度、主内容区自适应,或表单中部分字段固定、其余自动填充。通过 CSS 的 flexbox 和 calc() 函数可以轻松实现这种混合布局。
Flexbox 是最常用的方式,适合容器内子元素的灵活分配。
基本思路:将容器设为 display: flex,固定宽度的子元素设置具体宽度(如 200px),弹性部分设置 flex: 1,自动占据剩余空间。
立即学习“前端免费学习笔记(深入)”;
示例代码:
.container {
display: flex;
}
<p>.sidebar {
width: 200px; /<em> 固定宽度 </em>/
background: #f0f0f0;
}</p><p>.main-content {
flex: 1; /<em> 占据剩余空间 </em>/
background: #e0e0e0;
}</p>当不能使用 flex 或需要更精确控制时,可用 calc() 动态计算弹性区域宽度。
例如:主内容区 = 100% 容器宽度 - 固定侧边栏宽度。
示例:
.sidebar {
width: 200px;
float: left;
}
<p>.main-content {
width: calc(100% - 200px); /<em> 自动减去固定宽度 </em>/
margin-left: 200px; /<em> 避免重叠 </em>/
}</p>这种方式适合传统浮动布局或需要脱离 flex 场景。
CSS Grid 也支持固定与弹性结合,语法更直观。
使用 fr 单位表示弹性比例,配合固定值(px、rem)定义列宽。
示例:
.container {
display: grid;
grid-template-columns: 200px 1fr; /* 第一列固定,第二列弹性 */
gap: 10px;
}
还可扩展为多列混合:200px 1fr 2fr,实现复杂但可控的布局。
基本上就这些。根据实际结构选择 flex、grid 或 calc,都能实现固定与弹性的良好结合。关键是明确哪部分“固定”,哪部分“撑满”。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号