不知道这个问题是简单还是没有,但我坚持下去:是否有可能创建一个灵活的自适应表格式布局,根据窗口宽度改变它的列数量?
插图: ( 绿色 边框表示初始块的大小(块内容的大小),黑色边框表示计算/呈现块的大小)
目标是创建一个布局:
实际上,我已经用JS实现了这一点,我的PC不是很难执行我编写的脚本,所以我认为脚本已经很好地优化了,但无论如何我希望它可以用纯CSS完成。
我可以展示我的解决方案(CSS + JS),但我认为它没有任何价值。
答案 0 :(得分:2)
Flexbox和媒体查询可以执行此操作:
* {
box-sizing: border-box;
}
.wrapper {
display: flex;
flex-wrap: wrap;
justify-content: space-around;
width: 80%;
margin: auto;
border: 1px solid red;
padding: 1em;
}
.box {
border: 1px solid grey;
margin-bottom: 1em;
flex: 1 0 100%;
background: #c0ffee;
padding: 0 1em;
}
@media screen and (min-width: 500px) {
.box {
flex: 0 0 48%;
background: #bada55;
}
}
@media screen and (min-width: 750px) {
.box {
flex: 0 0 30%;
background: rebeccapurple;
}
}
@media screen and (min-width: 1000px) {
.box {
flex: 0 0 24%;
background: #b19d09;
}
}

<div class="wrapper">
<div class="box">
<p>Lorem ipsum dolor sit.</p>
</div>
<div class="box">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eum, totam.</p>
</div>
<div class="box">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eaque, cum. Voluptate natus quaerat eaque incidunt, accusamus veniam facere, alias provident odio est rerum commodi?</p>
</div>
<div class="box">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Optio, dolore.</p>
</div>
<div class="box">
<p>Lorem ipsum dolor sit.</p>
</div>
<div class="box">
<p>lorem</p>
</div>
<div class="box">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Necessitatibus nobis odit possimus porro. Nihil, modi.</p>
</div>
<div class="box">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Praesentium vel, accusamus cupiditate esse quisquam, nisi hic dolores assumenda adipisci, illum ab itaque nemo placeat! Dolorum aliquam iure veritatis reprehenderit libero.</p>
</div>
</div>
&#13;
A Complete Guide to Flexbox @ CSS-Tricks.com