精简版:

当两个列表彼此相邻时,CSS(或其他某些手段)是否有办法防止在两个列表之间添加新线路?


长版(带代码):

我有机器生成的HTML,它不是智能处理混合的嵌套列表 <ol><ul> 元素。 (如果您猜到这是Oracle UCM Dynamic Converter,那么您将赢得奖品。)

具体而言,当源文档筑巢和未排序的列表嵌套时,生成的HTML将所有有序列表的标签关闭回到顶级,并使用多个无效列表标签开始一个新的无序列表,以获得所需的缩进水平。

由于这些是块元素,因此浏览器在列表之间使用不必要的新线进行渲染。如果我直接控制了HTML,这将很容易,但是可惜。我相信CSS是可以做到的,但是我的相对基础CSS知识使我失望。 (幼稚地使用 style="display: inline;"<ul> 元素对我不起作用。)

摘要,我得到了:

<ol><li>item 1</li> 
    <li>item 2</li> 
    <ol><li>item 1, indent level 2</li> 
        <li>item 2, indent level 2</li> 
</ol></ol>

<ul><ul><ul><li>bullet, indent level3<li> 
            <li>bullet, indent level3<li>
</ul></ul></ul>

希望有一种方法可以使其成为这样的渲染版本:

<ol><li>item 1</li> 
    <li>item 2</li> 
    <ol><li>item 1, indent level 2</li> 
        <li>item 2, indent level 2</li> 

<ul><li>bullet, indent level3<li> 
    <li>bullet, indent level3<li>
</ul></ol></ol>

我希望这很简单。

谢谢!

有帮助吗?

解决方案

如果唯一可见的问题是列表之间的空白行,那么简单地说:

ol, ul {
    margin-top: 0;
    margin-bottom: 0;
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top