相关疑难解决方法(0)

Flexbox:每行4个项目

我正在使用弹性框显示8个项目,这些项目将动态调整我的页面大小.如何强制它将项目分成两行?(每行4个)?

这是一个相关的剪辑:

(或者,如果你更喜欢jsfiddle - http://jsfiddle.net/vivmaha/oq6prk1p/2/)

.parent-wrapper {
  height: 100%;
  width: 100%;
  border: 1px solid black;
}
.parent {
  display: flex;
  font-size: 0;
  flex-wrap: wrap;
  margin: -10px 0 0 -10px;
}
.child {
  display: inline-block;
  background: blue;
  margin: 10px 0 0 10px;
  flex-grow: 1;
  height: 100px;
}
Run Code Online (Sandbox Code Playgroud)
<body>
  <div class="parent-wrapper">
    <div class="parent">
      <div class="child"></div>
      <div class="child"></div>
      <div class="child"></div>
      <div class="child"></div>
      <div class="child"></div>
      <div class="child"></div>
      <div class="child"></div>
      <div class="child"></div>
    </div>
  </div>
</body>
Run Code Online (Sandbox Code Playgroud)

html css html5 css3 flexbox

200
推荐指数
5
解决办法
28万
查看次数

仅CSS的砌体布局

我需要实现一个相当普遍的磨坊砌体布局.但是,出于多种原因,我不想使用JavaScript来执行此操作.

多列不同高度的矩形网格.

参数:

  • 所有元素都具有相同的宽度
  • 元素的高度无法在服务器端计算(图像加上各种文本量)
  • 如果必须的话,我可以使用固定数量的列

有这一个简单的解决方案,在现代浏览器,工作column-count性质.

该解决方案的问题是元素按列排序:

从最左上方的框开始,它们的编号为1到4,下一列的最上面的框是5,依此类推.

虽然我需要按行排序元素,至少大约:

从最左上方的框开始,它们的编号为1到6,但由于框5是最短的,所以它下方的框是7,因为它的外观比最左边的下一个框高.

我试过的方法不起作用:

现在我可以更改服务器端渲染并重新排序项目数除以列数的项目,但这很复杂,容易出错(基于浏览器决定将项目列表拆分成列的方式),所以我想要尽可能避免它.

是否有一些新奇的flexbox魔法可以实现这一目标?

html css css3 flexbox css-grid

101
推荐指数
3
解决办法
2万
查看次数

标签 统计

css ×2

css3 ×2

flexbox ×2

html ×2

css-grid ×1

html5 ×1