2

我需要将 UL 列表放在 p 标签内。我只在 p 标签内添加了,但它并不完全从 p 标签内开始。而且 p 标签也有 1600px 的宽度,所以我需要 li 元素超出该宽度(我有滚动条)。现在 li 元素在多行中流动。

这是我的演示 http://jsfiddle.net/VvuU4/2/

4

1 回答 1

2

不幸的是,HTML 不允许ul(或div)位于 内部p,因此浏览器会自动更正 DOM:

<p>
    <ul><li>etc</li></ul>
</p>

...看起来像这样:

<p></p>
<ul><li>etc</li></ul>
<p></p>

您可以使用他们内置的开发人员工具来验证这一点。所以你需要改变你的标记。也许将 更改pdiv?


至于问题的第二部分,这是一个很好的起点:

ul.list2 {
    width: 500px; /* adjust to suit your needs */
    overflow: auto;
    white-space: nowrap;
}
ul.list2 li {
    display: inline-block;
    vertical-align: top;
}

它设置ul在必要时使用滚动条,并告诉其中的内联元素不要换行。然后它将列表项设置为内联块项,这使它们并排放置(如 display: inline;),但行为更像块项(即边距、填充、宽度、高度按您的预期工作)。

于 2012-07-31T13:11:15.230 回答