使用 HTML5/CSS3 堆叠图像行?

Stacking Rows of Images Using HTML5/CSS3?

我试图将图像逐行排列,但出于某种原因,结果不是我想要的。图像唯一一次换行是在我填满页面的时候。我试过 overflow:hidden,但是当图像展开时,它们被白色覆盖 space。我不知道我的代码是否有问题,或者我只是做错了。我有一个画得不好的图像和下面的代码。

figure {
  width: 150px;
  float: left;
  margin: 0 20px 0 0;
  background: white;
  border: 10px solid white;
  -webkit-box-shadow: 0 3px 10px #ccc;
  -moz-box-shadow: 0 3px 10px #ccc;
  -webkit-transition: all 0.7s ease;
  -moz-transition: all 1s ease;
  position: relative;
}
figure img {
  width: 100%;
}
figure:hover {
  -webkit-box-shadow: 0 3px 10px #666;
  -moz-box-shadow: 0 3px 10px #666;
}
figure.tall:focus {
  outline: none;
  -webkit-transform: scale(3.0);
  -moz-transform: scale(3.0);
  -webkit-box-shadow: 0 3px 10px #666;
  -moz-box-shadow: 0 3px 10px #666;
  z-index: 9999;
}
<section class="image-gallery">

  <div class="wrapper">
    <figure class="tall" tabindex=1>
      <img src="Gallery/image.jpg" alt="" />
    </figure>
    <figure class="tall" tabindex=2>
      <img src="Gallery/image.jpg" alt="" />
    </figure>
  </div>

  <div class="wrapper">
    <figure class="tall" tabindex=3>
      <img src="Gallery/image.jpg" alt="" />
    </figure>

    <figure class="tall" tabindex=4>
      <img src="Gallery/image.jpg" alt="" />
    </figure>
  </div>

</section>

如有任何帮助或建议,我们将不胜感激。

P.S。很抱歉我的绘画功底不足。

只需将其添加到您的代码中,它应该可以正常工作。

.wrapper {
    clear:left;
}

因为包装器的内容是浮动的,所以您需要强制后续包装器清除其左侧的任何内容,否则它们只会一个接一个地浮动。

更新:

您还可以包括您在绘图中所述的文字。如果你在 <figure> 中使用 <figcaption> ,它就会按预期排列。我更新了我的 jsFiddle 以反映这一点。

如果您希望文本位于两行图像之间,而不是与其上方的图像相关联,您将需要再次使用 clear:left; 将文本推到第一行图像下方。