html - 使用 CSS 和 div 的灵活最后一列

标签 html css

在一个新站点上工作,并构建我们的主页内容以使用 CSS 动态列。这是页面示例:

<div class="maincols">
    <div class="maincol">Here's a column</div>
    <div class="maincol">Here's another column</div>
    <div class="maincol">This is my last column</div>
</div>

这是相关的 CSS:

.maincol, .maincols { min-height: 1px; padding: 0; position: relative; }
.maincol { float: left; width: 25%; border-width: 1px; border-style: solid; border-color: #f00; padding: 0; }
.maincol:nth-child(4n) { margin-right: 0; }
.maincol:nth-child(4n+1) { clear: left; }
.maincol:last-child { float: right; text-align: center; }

所以我们得到每行 4 列(有效),并将下一批推到新行(也有效)。现在,如何让最后一列占据该行的全部剩余空间?

目前看起来像这样:

| col1 | col2 | col3 | col4 |
| col5 |             | col6 |

我需要它看起来像这样:

| col1 | col2 | col3 | col4 |
| col5 |        col6        |

或者像这样(如果我添加另一批内容):

| col1 | col2 | col3 | col4 |
| col5 | col6 |    col7     |

建议?

最佳答案

Flexbox 可以做到这一点

* {
  box-sizing: border-box;
}
.maincols {
  display: flex;
  margin-bottom: 1em;
  flex-wrap: wrap;
}
.maincol {
  flex: 0 0 25%;
  height: 50px;
  border: 1px solid blue;
}
.maincol:last-child {
  flex: 1;
}
<div class="maincols">
  <div class="maincol">Here's a column</div>
  <div class="maincol">Here's another column</div>
  <div class="maincol">Here's a column</div>
  <div class="maincol">Here's another column</div>
  <div class="maincol">Here's another column</div>
  <div class="maincol">This is my last column</div>
</div>

<div class="maincols">
  <div class="maincol">Here's a column</div>
  <div class="maincol">Here's another column</div>
  <div class="maincol">Here's another column</div>
  <div class="maincol">Here's another column</div>
  <div class="maincol">Here's a column</div>
  <div class="maincol">Here's a column</div>
  <div class="maincol">Here's my last column</div>

</div>

关于html - 使用 CSS 和 div 的灵活最后一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35441048/

相关文章:

javascript - 在 JavaScript 中更改第 n 个子项的属性

html - 在 disabled=true 文本框上应用文本颜色

javascript - 带有 UL 和 LI Bootstrap 的动态菜单

html - Bootstrap 4 表单输入 - 对齐复选框

javascript - 在客户端调整/裁剪图像大小的最佳方法是什么?

Javascript 函数不打开嵌套可折叠

javascript - 如何删除包含除特定属性之外的所有属性的标签

html - 在 Bootstrap Paginator 中更改链接/文本的字体大小

html - 固定中心 div,由可变宽度 div 包围,由固定 Angular div 包围

html - 重新定义选择器以用于其余代码的不同方式