用 Flex 实现以下布局:三栏布局(左固定200px,中间自适应,右固定150px)

.container {
  display: flex;
  min-height: 100vh;
}

.left {
  flex: 0 0 200px;  /* 不伸缩,固定 200px */
  background: #f0f0f0;
}

.main {
  flex: 1;           /* 占满剩余空间 */
  background: #fff;
}

.right {
  flex: 0 0 150px;  /* 不伸缩,固定 150px */
  background: #f0f0f0;
}
<div class="container">
  <aside class="left">左侧栏</aside>
  <main class="main">中间内容</main>
  <aside class="right">右侧栏</aside>
</div>

进阶:圣杯布局(中间优先加载)

<!-- HTML 顺序:main 先于 left/right -->
<div class="container">
  <main class="main">中间内容</main>
  <aside class="left">左侧栏</aside>
  <aside class="right">右侧栏</aside>
</div>
.container {
  display: flex;
}
.main { flex: 1; order: 2; }
.left { flex: 0 0 200px; order: 1; }
.right { flex: 0 0 150px; order: 3; }

其他方案对比

Grid 方案(更简洁):

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

float 方案(传统):

.left { float: left; width: 200px; }
.right { float: right; width: 150px; }
.main { margin: 0 150px 0 200px; }

同分类其他题目