【发布时间】:2018-04-17 00:04:55
【问题描述】:
有 6 列的网格。网格的每一列是50px
Content 1: <section><p>hello</p></section>
Content 2: <section><img width="110"></section>
Content 3: <section><p>goodbye</p></section>
Content 4: <section><img width="250"></section>
Content 5: <section><img width="65"></section>
我希望此内容以某种方式知道按如下布局,而不会被“告知”每条内容占用多少列:
|----------|----------|----------|----------|----------|----------|
| | | |
| hello | 110px-wide image | goodbye |
| | | |
|----------|----------|----------|----------|----------|----------|
| |
| 200px-wide image
| |
|----------|----------|----------|----------|----------|----------|
| |
| 65px-wide image |
| |
|----------|----------|----------|----------|----------|----------|
在任何得到相当广泛支持的 CSS 中是否有任何方法可以设置一个网格,无需将任何 col-x 类型类或显式宽度附加到每个部分元素?
我尝试使用 flexbox 的示例,但我不确定如何告诉它“网格列是 50 像素宽,其中有 6 个”:
.container {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: left;
align-items: space-between;
align-content: center;
}
section {
border: 1px black solid;
flex-basis: auto;
flex-grow: 6;
flex-shrink: 1;
}
<div class="grid">
<section><p>hello</p></section>
<section><img src="http://comefillyourcup.com/wp-content/uploads/2015/12/2880x1800-bright-ube-solid-color-background-128x128.jpg" width="110"></section>
<section><p>goodbye</p></section>
<section><img src="https://i.imgur.com/WgbsUUv.png" width="250"></section>
<section><img src="https://i.imgur.com/SUl31R3.png" width="65"></section>
</div>
【问题讨论】:
-
flex 在这里看起来比网格更高效......你应该分享你的 html 和 css 来显示你的问题
-
好点。最小的例子来了...
-
添加了我想要按照 ASCII 图表布局的 HTML。不确定要添加什么 CSS——这就是问题所在! :)
-
你可以使用 grid、class 和 grid-auto-flow:dense 来尽可能地填补空白codepen.io/gc-nomade/pen/MOyEqv
-
您可以在运行时根据类的宽度分派类。 (例如,绝对位置并首先隐藏以检索所需的宽度..然后给出类名并删除位置/隐藏可见性;)
标签: css flexbox grid-layout css-grid