html - css flexbox 3列布局,其中第一个是固定宽度

标签 html css flexbox

我试图更好地理解 flex box CSS 并为所有页面设置主布局。它是 3 列,其中第一列是固定宽度,其他列可以是任意大小,只要所有 3 列都占 100% 宽度即可。

我认为问题出在 .col 类中,但不确定如何设置第一列并让另一列增长。谢谢。

.wrapper {
  display: flex;
  flex-direction: row;
}

.col {
  flex-basis: 25%;
  align-items: stretch;
}
<div class="wrapper">
  <div class="col">1</div>
  <div class="col">2</div>
  <div class="col">3</div>
</div>

最佳答案

您只需为第一个指定一个固定宽度,然后将 flex:1 设置为另一个,以便它们占据剩余空间并填充 100% 的容器空间:

.wrapper {
  display: flex;
  flex-direction: row;
}


.col {
  flex: 1;
  background: red;
}
.col:first-child {
  width: 100px; /* Or a percentage value */
  flex:initial;
  background: green;
}
<div class="wrapper">
  <div class="col">1</div>
  <div class="col">2</div>
  <div class="col">3</div>
</div>

关于html - css flexbox 3列布局,其中第一个是固定宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48484415/

相关文章:

html - 字体回退 : how to specify "font-specific" rules?

html - 如何让我的文字居中位于图像下方,而不是相邻?

javascript - Onclick div 仅适用于一位用户

javascript - Bootstrap React 悬停效果

css - 为什么不证明内容 : center work in IE?

html - 当背景颜色为深灰色时,如何使克拉在IE中可见?

javascript - 如何删除边框顶部和 div 之间的间距

javascript - 每 30 秒用另一个 div 替换一个 div

html - 仅CSS的砌体布局

css - 如何在 flex 行中放置不同尺寸的图像?