【发布时间】:2012-02-12 08:32:48
【问题描述】:
我有多个无序列表 (UL) 元素。请查看下图:
我想要做的是让 UL 彼此相邻浮动。 UL 具有不同的内容长度 (LI),因此一些 UL 比其他的长。当我在有限宽度的 div 层中将 UL 彼此相邻浮动时,最后一个 UL 会浮动在底部/左侧。但是……如果有更长的 UL,就会有一些空间。我希望 UL 在每个 UL 元素的底部向左浮动并堆叠,没有空格。有没有办法通过 HTML/CSS 实现这一点?
浮动 UL 彼此离开很容易......但我不知道如何摆脱边距
----- 更新----
这是我用来生成 HTML 的代码...实际上我将它从 UL 更改为 TABLE,但这并没有改变我的问题。我有许多表,可能从 1 到 8 不等。这些表将出现的容器 DIV 的宽度最多可以容纳 4 列。 TABLE 将具有不同数量的 ROW,因此长度也会不同。
$groups = array();
foreach ($related->posts as $post) {
$groups[$post->post_type][] = $post;
}
foreach ($groups as $name => $posts) {
printf('<table class="related-group related-%s "><tbody>', htmlspecialchars($name));
foreach ($posts as $post) {
printf('<tr class="related-item"><td><a href="'.get_permalink($post->ID).'" rel="permalink">'.get_the_post_thumbnail($post->id, '32').'</a></td><td><a href="'.get_permalink($post->ID).'" rel="permalink">'.$post->post_title.'</a></td></tr>');
}
echo '</tbody></table>';
}
【问题讨论】:
-
好问题!我今天遇到了完全相同的问题,我很惊讶三年后它仍然没有一个纯 CSS 的解决方案。不过,我在答案中看到了一些很好的建议。
标签: html css positioning css-float html-lists