使用IE8,7,6上的列表呈现错误

时间:2009-09-28 18:35:49

标签: html css internet-explorer html-lists

让IE显示<ul>的诀窍是什么?我正在处理扩展名为php的网页。我有一个简单的清单。

<ul>
    <li>Stuff one</li>
    <li>Stuff two</li>
    <li>Stuff three</li>
    <li>Stuff four</li>
</ul>

在Safari和Firefox上,我得到一个正确呈现的列表,在IE上它只显示一个段落。我没有在任何网站上找到关于可能出现问题的一致答案。

发生了什么事?

模板来自Matthew James Taylor's 3 column blog样式布局。 http://matthewjamestaylor.com/blog/perfect-3-column-blog-style.htm

css就在页面中。即使我回去并将网站剥离为骨头,也不会显示列表。

是否有可能因为div风格而搞砸css?

6 个答案:

答案 0 :(得分:6)

IE 6,7,8应该都显示无序列表......

我的猜测是你在CSS和/或JS上发生了一些事情,导致列表无法在IE中显示。

答案 1 :(得分:2)

在CSS代码中查找以下代码:

#header ul {
    clear:left;
    float:left;
    width:100%;
    list-style:none;
    margin:10px 0 0 0;
    padding:0;
}

#header ul li {
    display:inline;
    list-style:none;
    margin:0;
    padding:0;
}

正如您所看到的,规则会更改元素中<ul><li>元素与id="header"list-style:none;之间的边距,填充,浮动等从列表项中删除项目符号。真正的问题是:为什么只有IE才会遵守这些CSS规则?您可能有语法错误(意外删除结束标记?)导致它们呈现不一致。

答案 2 :(得分:1)

代码没有问题,您应该在所有浏览器(以及所有版本)中获得四个项目的列表。

检查您的代码是否有条件(特定于MS)的评论,例如:

<!--IE > Hidden code, could be some CSS <![endif]-->

答案 3 :(得分:0)

在IE 6中工作正常,你有没有把css应用到列表中?

答案 4 :(得分:0)

不,IE不会将<ul>显示为段落。还有别的错。 IE特定的css是否可能改变外观?

答案 5 :(得分:0)

可能是您的CSS规则不完整。 IE和Opera对默认列表样式的解释与其他浏览器不同,关于缩进是用边距还是填充完成的。如果您没有正确应用样式,最终可能会出现在您未测试的浏览器上看起来错误的列表。这篇文章详细介绍了浏览器之间的差异:

A List Apart: Articles: CSS Design: Taming Lists

修改:这一个:

Consistent List Indentation