html - IE 7 错误?设置 <li> 的高度会重置有序列表的计数器

标签 html css internet-explorer-7

我遇到了我只能假设是 IE7 错误的问题,但我无法在网上的任何地方找到提及它的地方。好像设置<li>的高度有序列表中的元素会重置列表的计数器(类似于 counter-reset css 属性)。

重现很容易,渲染如下代码...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
    <style type="text/css">
        li { height: 20px; }
    </style>
</head>
<body>

    <ol>
        <li>One</li>
        <li>Two</li>
        <li>Three</li>
    </ol>

</body>
</html>

产生这个...

Rendered by IE9 using Browser mode: IE7, Document Mode: IE7 standards

删除 CSS 规则可以解决问题。

为什么哦,为什么会发生这种情况,我该如何阻止它?我也会对这个问题的任何现有讨论或文档感兴趣。我不可能是第一个遇到它的人。

注意:我目前无法访问真正的 IE7 机器,所以我一直在 IE9 中使用 IE7 浏览器模式。我想它是准确的?

最佳答案

OK,我可以确认这确实是IE7及以下版本的bug。

设置高度宽度即可。

一个简单的修复是:

ol li {
  display:list-item;
  height:40px;
}

以前有人遇到过这个问题,并且有很多解决方法。

http://weblogs.asp.net/marksmith/archive/2008/01/11/ie7-bug.aspx

关于html - IE 7 错误?设置 <li> 的高度会重置有序列表的计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7871313/

相关文章:

angularjs - 通过 td-width 固定宽度 td

javascript - 如何清理(销毁)Twitter Bootstrap 3.2 模式表单内容

asp.net - 列表未在 DIV 元素中正确显示

html - 如何在IE7和IE6中固定位置

css - IE7 中的 float 元素行为异常

html - 实现底部有透明三 Angular 形切口的矩形形状

javascript - 使用 DOM 更改表格的 <td> 元素

html - CSS规则中选择器的优先级

html - 如何创建多个 fa-icon

javascript - IE7 CSS 问题 : cannot get correct span width