0

对于比我更了解 CSS 的人来说,这可能是小菜一碟。

我正在尝试创建一个 CSS 布局,其中包含许多我想像图块一样排列的元素。每个图块将具有相同的宽度(尽管高度不同),因此会自然地将它们自己排列成列,如下所示:

http://jsfiddle.net/SVzWh/

我想知道如何使同一行中的每个元素都具有相同的高度。我不知道那个高度是多少,因为图块的内容(有点)是动态的。理想情况下,瓷砖会像小提琴中所示流动,这样在更宽的屏幕上会有更多的列,在更窄的屏幕上会有更少的列。可能有几十个瓷砖。

这是小提琴中显示的代码:

HTML的一个点:

<ul>
  <li class="e">Element 1</li>
  <li class="e">Element 2 Taller item</li>
  <li class="e">Element 3</li>
  <li class="e">Element 4</li>
  <li class="e">Element 5</li>
  <li class="e">Element 6</li>
  <li class="e">Element 7</li>
  <li class="e">Element 8</li>
</ul>

还有一点 CSS:

.e {
  display: inline-block;
  border: 1px solid black;
  margin: 5px;
  padding: 3px;
  width: 120px;
}
4

3 回答 3

1

查看JQuery masonry,它是一个 JQuery 插件,可以满足您的需求。

于 2012-11-13T15:39:26.000 回答
0

考虑到您的问题,我认为 jQuery 肯定是要走的路。我做了一点搜索,发现以下内容:

http://css-tricks.com/equal-height-blocks-in-rows/

粗略地看,它似乎确实可以帮助您实现目标。

于 2012-11-13T16:16:59.647 回答
0

我最终使用了这个 JS 脚本的稍微修改的版本:

https://www.assembla.com/code/raysafedemo/subversion/nodes/WebSite/Scripts/jQuery.equalHeights.js?rev=107

由 Scott Jehl、Todd Parker 和 Maggie Costello Wachs 撰写

于 2014-02-03T16:35:57.853 回答