0

我正在寻找一种以表格/表格形式呈现 N 个图像的方法。
问题是,它需要处理窗口调整大小或不同的分辨率并重新排列自己。我可以在我的项目中使用 JQuery,但如果可以避免它当然会更好。

4

3 回答 3

0

我知道您说过您宁愿不使用 JQuery,但您可能想使用 Twitter Bootstrap很短的时间,我相信如果你想要一个只处理网格的精简版本,你可以下载一个自定义版本的 Bootstrap。

http://twitter.github.com/bootstrap/scaffolding.html#fluidGridSystem

于 2013-04-02T18:49:28.253 回答
0

您可以使用floatand some@media来实现结果,我准备了一个带有演示的小小提琴:http: //jsfiddle.net/sandro_paganotti/A6n9n/1/

关键在 CSS 中:

CSS

img{ width: 33%; display: block; float: left; }

@media all and (max-width: 450px){ img{ width: 50% } }
@media all and (min-width: 550px){ img{ width: 20% } }
于 2013-04-02T18:50:55.317 回答
0

当它们的父元素调整大小时,图像会自然地重排。

http://codepen.io/cimmanon/pen/dwbHi

现在,如果您想让元素之间的间距均匀分布,Flexbox 可以帮助您:

http://codepen.io/cimmanon/pen/iHGCd

.gallery {
  margin: -5px;
  display: -webkit-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-pack: justify;
  -ms-flex-pack: justify;
  flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}
@supports (flex-wrap: wrap) {
  .gallery {
    display: flex;
  }
}

.gallery img {
  margin: 5px;
}

<div class="gallery">
    <img src="http://placehold.it/200x100" /><!--
    --><img src="http://placehold.it/200x120" /><!--
    --><img src="http://placehold.it/200x100" /><!--
    --><img src="http://placehold.it/200x100" /><!--
    --><img src="http://placehold.it/200x140" /><!--
    --><img src="http://placehold.it/200x100" /><!--
    --><img src="http://placehold.it/200x100" /><!--
    --><img src="http://placehold.it/200x130" /><!--
    --><img src="http://placehold.it/200x100" /><!--
    --><img src="http://placehold.it/200x100" /><!--
    --><img src="http://placehold.it/200x100" /><!--
    --><img src="http://placehold.it/200x90" />
</div>

当前浏览器支持:Chrome、Opera、IE10。 http://caniuse.com/#feat=flexbox

或者,您可以使用 CSS Columns(与上面相同的标记):

http://jsfiddle.net/qeZaZ/

.gallery {
    -webkit-columns: 250px;
    -moz-columns: 250px;
    columns: 250px;
    text-align: center;
}
于 2013-04-02T19:11:10.910 回答