html - 是否有仅 CSS 的解决方案可以使垂直网格中的 div 等高?

标签 html css css-float flexbox

我有一个 .parent div,在其中我有一个未知 数量的 .child div。我需要子 div 位于垂直网格中,并且所有子 div 都需要等高。不幸的是,我不能为此使用 javascript。

我已经尝试了 display: inline-blockfloat: left 的不同组合,但我无法让子项具有相同的高度。

我可以使用 display: table-cell 达到相同的高度,但后来我遇到了另一个问题,如果总宽度超过容器宽度,子元素不会拆分成多行。

有没有办法用纯 css 做到这一点?如果有帮助,我只需要支持 IE10+(flexbox?)

最佳答案

您可以使用环绕 flexbox - 查看高度是如何自动调整的(由于 align-items:stretch 属性是默认值)当您调整窗口大小时子 div 换行。

* {
  box-sizing: border-box;
}
body {
  margin: 0;
}
.wrapper {
  display: flex;
  flex-flow: row wrap;
}
.wrapper > div {
  border: 1px solid red;
}
<div class="wrapper">
  <div>
    some text here some text here
  </div>

  <div>
    some text here
    <br/>more text here
  </div>

  <div>
    some text here
    <br/>more text here and some more and some more
  </div>

  <div>
    some text here
    <br/>more text here
    <br/>more text here
  </div>

</div>

关于html - 是否有仅 CSS 的解决方案可以使垂直网格中的 div 等高?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40623064/

相关文章:

javascript - 从距顶部 30px 处开始滚动 div

c# - 代码隐藏的样式表问题

jQuery 查找 float li 中每行的项目数

html - 在具有固定 HTML 结构的内联列表之后有一个链接

javascript - 如何用jquery打印特殊字符?

javascript - Div 中的垂直/水平对齐

javascript - 添加链接到按钮 Javascript

javascript - 将 <div> 叠加在另一个(动态定位的)<div> 上

css - Twitter-Bootstrap 3 网格布局重叠

javascript - Angular 样板和 Twitter Bootstrap 3