有序列表不适用于IE7(<ol> </ol>

时间:2010-03-08 13:51:28

标签: html internet-explorer-7

我正在尝试在IE7上创建一个有序列表但由于某些原因不起作用。 有人知道为什么会这样吗? 的更新

问题是我无法看到数字,谢谢。

感谢。

例如

<ol>
 <li></li>
 <li><li>
</ol>

更新 作为一个例子,我看到这个页面,如果你在IE7上看它,你不会看到de数字,但如果你在任何其他(但不是ie)上看它,你会看到数字。

http://www.arraystudio.com/as-workshop/make-ol-list-start-from-number-different-than-1-using-css.html

由于

7 个答案:

答案 0 :(得分:9)

SSCCE适用于IE6及以上版本的所有浏览器(IE6 / 7/8,FF2 / 3,Safari3,Chrome4,Opera9)。

<!doctype html>
<html lang="en">
    <head>
        <title>SO question 2401705</title>
    </head>
    <body>
        <ol>
            <li>Item 1
            <li>Item 2
        </ol>
    </body>
</html>

当我尝试用语法上无效的</ol>替换<ol>时,它甚至可以正常工作。所以,你的问题出在其他地方。你真的需要在更多细节中详细说明“不工作”。究竟发生了什么?究竟发生了什么?最好编辑您的问题以包含SSCCE(如上所述)并尝试提问smart way

注意,与其他人所说的相反,非结束<li>在普通HTML中在语法上是有效的。它在XHTML中确实无效,但除非您使用基于组件的MVC框架或其他基于XML的工具来生成HTML页面,否则我认为没有任何理由使用XHTML。

更新:您因此看不到这些数字。显然,您已将margin的{​​{1}}设置为零。这样他们就会走出视野。以下SSCCE演示了它。它确实在IE6 / 7中失败了。

ol

不要将边距设置为0.这也可能是由所谓的CSS重置表引起的。不要使用它们,只需记住自己指定所有块元素的边距。

答案 1 :(得分:5)

你可能还需要给你的有序列表留一个边距,以便查看IE7中的数字。试试这个:

<ol style="margin-left:25px;"> 
 <li>test1</li> 
 <li>test2</li> 
</ol>

答案 2 :(得分:3)

如果您根本没有看到数字,则可能需要在ol元素上设置边距或填充,例如

ol {
    margin-left: 3em;
}

您可能还需要设置list-style: decimal;

还有一些CSS错误可能会对旧版IE中的有序列表产生奇怪的影响。症状通常是每个项目的计数器重置为1。你看到了吗?

答案 3 :(得分:2)

完成你的标签,它应该没问题:

<ol>
 <li>blah</li>
 <li>ha</li>
</ol>

答案 4 :(得分:1)

确保关闭<li>代码:

<ol>
  <li>first thing</li>
  <li>second thing</li>
</ol>

答案 5 :(得分:1)

这个问题很老,但我觉得答案都没有解决我的问题:

ol {list-style-position:inside;}
li {display:list-item;}

<ol>
   <li>foo</li>
   <li>bar</li>
</ol>
  • list-style-position: inside 
    

    修复列表以显示数字(不使用保证金)

  • display:list-item
    

    当列表元素有宽度或布局时(?我忘了),IE7有一个编号错误,所有列表元素显示为1.;这解决了这个问题。

答案 6 :(得分:0)

我也偶然发现了这个老问题。对我来说,解决方案是删除我的ol-tag上的float:left声明。如果有人发现它有用,请将其发布在此处。

重现此IE7行为的示例代码:

<!doctype html>
<html lang="en">
    <head>
        <title>SO question 2401705 - IE6/7 problem</title>
    <style type="text/css">ol { float:left; }</style>
</head>
<body>
    <ol>
        <li>Item 1</li>
        <li>Item 2</li>
    </ol>
</body>