如何解决这个简单的IE渲染问题?

时间:2011-05-28 03:01:35

标签: html css internet-explorer

考虑以下代码:

<style type="text/css">

ul { clear: both; overflow: hidden; border: 3px solid red; margin-bottom: 10px; }
ul li { display: block; padding: 30px 80px; border: 1px solid green; float: left; }

</style>

<ul>

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

</ul>

<ul>

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

</ul>

在firefox和chrome(也可能是safari和opera也没有测试过)看起来很好。这意味着<li>'s位于<ul>'s绿色边框内。

但在ie(9,8和7)中并非如此。有没有办法让ul包含lis,就像在其他浏览器中一样?

1 个答案:

答案 0 :(得分:5)

只需让IE在标准模式下呈现您的文档,方法是在HTML中添加doctype declaration

原因是我只能在IE的怪癖模式中想象你的ul不包含你的li。在标准模式下,应该以与其他浏览器相同的方式呈现,正如this jsFiddle demo(在IE中查看)所证明的那样,它确保了预览窗格中的标准模式。