0

我有这个html:

<!DOCTYPE html>
<html>
<head>
<style>
pre {
    overflow: auto;
}
</style>
</head>

<body>
<ol>
<li>
<pre>some
 code code code code code code code code code code code code code code code code code code code 
code code</pre></li>
<li><pre>some more code code code code code code code code code code code code code code code code code code code code code</pre></li>
</ol>
</body>
</html>

目的是这将产生一个预先格式化的文本位的编号列表。当这些文本位很长时,将通过溢出添加滚动条:auto; .

这在 Firefox 20 中运行良好。但是,在 IE9 中,预格式化文本向下移动了一行(因此现在每个项目占用两行,一行用于数字,另一行用于预格式化文本)。在 Chrome 中,格式是正确的,只是没有显示数字。

我尝试更改为溢出:滚动,但无济于事。还尝试将文档类型更改为<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">无济于事。

当您取出溢出时,Chrome 和 IE9 中的问题都会消失:auto; ,但是你不再得到滚动条,这对我来说很重要。

有没有办法让这个节目不仅在 Firefox 中正确显示,在 IE9 和 Chrome 中也能正确显示?

4

1 回答 1

0

在每个 li 之前添加一个空伪元素

li:before {
content: "";
}
于 2016-07-05T11:12:34.703 回答