首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将无序列表(UL)放在彼此的旁边,并将它们堆叠在一起,没有空白处或空白处。

将无序列表(UL)放在彼此的旁边,并将它们堆叠在一起,没有空白处或空白处。
EN

Stack Overflow用户
提问于 2012-01-17 14:28:22
回答 3查看 2.6K关注 0票数 1

我有多个无序列表(UL)元素。请检查以下图片:

我想要做的是把ULs放在一起。ULs有不同的内容长度(LIs),因此有些UL比其他的长。当我在有限宽度的div层中相互浮动ULs时,最后一个ULs在底部/左边浮动。然而..。如果有一个更长的UL,就会有一些空间。我希望ULs向左浮动,在每个UL元素的底部相互叠加,没有空格。有什么方法可以用HTML/CSS来实现这一点吗?

彼此之间的浮动很容易..。但我不知道怎么摆脱这个空白

-更新

这是我用来生成HTML的代码。实际上,我把它从ULs改为了表,但它并没有改变我的问题。我有许多表,可能从1到8不等。这些表出现的容器DIV的宽度最多可以容纳4列。表将有不同数量的行,因此长度不同。

代码语言:javascript
复制
$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>';
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-18 21:24:06

虽然给出的建议和建议确实很有帮助,

我解决了jQuery砌体的问题,这是一个jQuery插件

http://masonry.desandro.com/

我不确定是否有更好的方法,但这一个才起作用

同位素,另一个看起来类似于砖石的jQuery插件,可能和砖石一样,但我还没有测试:http://isotope.metafizzy.co/

谢谢你的阅读和来访

票数 0
EN

Stack Overflow用户

发布于 2012-01-17 14:44:18

如果你把它们垂直堆叠起来,那是可能的。这个小提琴手说明了您的问题,下一行的项目将从上一行中最长的ul到达的位置开始。不必为新行创建新列,您可以将ul的返回插入到原始列中,以垂直叠加ul的列。看一看这弹琴,看看不同之处。

对不起,不知道你能不能联系到这些链接。jsfiddle.net现在似乎承受着沉重的负担。

票数 1
EN

Stack Overflow用户

发布于 2012-01-17 14:50:45

这个解决方案可能没有具体回答你的问题,但它可以帮助你解决你的问题:

您将无法以您建议的方式使用float来完成此操作。我所能想到的唯一解决方案是将元素划分为分组DIVs (或您选择的块元素),这些元素是向左浮动的。本质上,您将属于同一Y轴的每个UL放入某种列元素中:

代码语言:javascript
复制
<div class="col">
    <ul><!-- LI elements here --></ul>
    <ul><!-- LI elements here --></ul>
</div>

<div class="col">
    <ul><!-- LI elements here --></ul>
    <ul><!-- LI elements here --></ul>
</div>

<div class="col">
    <ul><!-- LI elements here --></ul>
</div>

<div class="col">
    <ul><!-- LI elements here --></ul>
</div>

我知道这并不完全是语义的,因为您添加元素纯粹是为了表示目的,但是我没有看到任何其他方法来实现这一点(除非您能够使用绝对/相对位置--如果您知道每个列表中的项目数,这可能是可行的)。

或者,可能有一个jQuery插件或类似的东西,可以让您动态地定位元素,但我不知道是从头顶开始的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8896306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档