我正在设置一个由DL
块组成的菜单,每个块都包含某些选项。
这些DL
s 都有不同的高度,尽管它们都保持相同的宽度,所以我可以一次装两个。这些DL
s 包含在一个div
区域内。
我正在尝试做的是,当一个块明显比另一个块长时,排队的下一个块将挤到一侧并出现在其下方块的下方。
<div id="contentarea">
<dl>This Dl has one DT and two DDs in it, one per line.</dl>
<dl>This DL has one DT and six DDs in it, one per line.</dl>
<dl>This DL has one DT and four DDs in it, one per line.</dl>
</div>
这个想法是,由于第二个DL
占用更多的垂直空间,第三个DL
会自动将自己推到右侧并占据第一个下方的空间DL
。如果这第三个D
L 会使左侧比右侧长,那么下一个 L 会向右DL
走。如果相同或更少,则再次向左移动,直到超过右侧。
我会注意到,我试图不将DL
s 定义为具有不同的类。
在我的 CSS 中,我将我DL
的 s 定义为display
as inline-block
,因为这只是inline
导致它们实际上没有正确使用右侧,而只是d
在它之前的一个下方显示每个 l。
但是inline-block
,他们所做的只是制作单独的行而不填充一些DL
s 之间的空间。有了inline-block
,他们现在也使用右侧,但是当第三个进来时,它会下降到最长点以下,而不是像我想要的那样尝试填充下一个直接点。