IE8中li添加float属性,中英数字混合BUG

<!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>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>测试环境IE8出现BUG,FF和Chrome没事</title>
    <style type="text/css">
        .tmo_list { list-style-type:decimal-leading-zero; width:800px;}
        .tmo_list li { float:left;width:400px;}
    </style>
</head>
<body>
    <ul class="tmo_list">
        <li>这里带上英文或数字八哥就消除</li>
        <li>牛X的BUG(此处带英文或数字就莫名其妙换行)</li>
        <li>中文1</li>
        <li>中文2</li>
    </ul>
</body>
</html>

如题代码贴出来先,有兴趣的朋友可以研究研究,看看有没有什么好的解决方案,本以为去年开始老外开始抵触IE6,最后国内大公司,例如腾讯之类的鸟蛋公司,也开始不在对IE6进行维护,还以为是什么福音呢,没想到做到后边始终都是让IE给坑住了.兼容性真的很让Web开发人员头疼.

IE8中运行效果如下图:

总是莫名其妙的换行,使用了很多方法都没有得到解决。问题发生的原因主要是就是因为中英文数字的结合字符串导致此问题发生,如全是数字或者英文或者中文就不会发生上述问题。

01 02两列必须字符串内容类型一样,上述01为全中文,02为中英结合因此问题发生。

将01中添加英文则问题消失,如下图效果:

求高手解答,非常感激!

解决方案中不能取消list-style-type:decimal-leading-zero;属性,因为需要这样的特效。使用display:block;虽然能解决错行的问题,可是把前边的标识数字隐藏掉了。

posted @ 2013-06-21 16:41  [FRL]...MoNey  阅读(354)  评论(0编辑  收藏  举报