0

我正在构建一个显示用户信息的网页。它看起来像这样:

美好的一天的事情

如彩色图例所示,表单包含一个标签和一个有序列表。CSS 已用于同时提供这两者display: inline并使列表显示为以逗号分隔的组名列表。这是相关的 HTML 片段:

<label>Group membership</label>
<ol>
  <li>domain users</li>
  <li>denied rodc password replication group</li>
</ol>

问题

整个表单的宽度是未知的(它是流动的)。标签具有固定宽度以支持右对齐文本,但有序列表可以自由地水平消耗剩余的可用空间。

但是,当组列表变大时会发生这种情况:

糟糕的一天的事情

该列表需要比水平可用空间更多的空间,因此它向下移动并看起来与标签分离,并且标签/显示元素对齐超出了窗口。这看起来真的很糟糕。

我想要达到的目标

该列表应根据需要向下扩展,但应保持锚定在标签旁边(就像在两个单元格具有的基于表格的布局中发生的那样vertical-align: top)。

是否有一种 CSS 技术可以轻松实现这一点?实现目标的侵入性最小的方法是什么?在整个应用程序中以相同的方式设置了大量的表单,因此从根本上更改 CSS 很容易影响其他表单,因此是不切实际的。

对列表的 HTML 进行外科手术是可能的,因此如果有帮助,请随时推荐替代方案。

这是一个模型的小提琴,其中包含您可以用作参考的所有相关样式。

4

1 回答 1

2

而不是使用inline-block,将特定标签浮动到左侧,并block使用 a制作列表margin-left- 请参阅http://jsfiddle.net/8tx24/1/

(我也做了 LI inline,因为inline-block第二个 LI 中的 long 值可能会使它变成一个新行,这看起来有点奇怪。但如果你想要这种行为,你可以保留你的inline-block.)

于 2013-09-19T11:14:19.383 回答