2009-09-28 62 views
0

让IE浏览器显示<ul>有什么窍门?我正在使用扩展名为php的页面。我有一个简单的列表。在IE8,7,6上列表呈现错误

<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?

+3

好的,专业的构思问题的方式。你会在你的办公室这样说吗? – David 2009-09-28 18:42:20

+2

他的个人资料说他37岁,但这个问题听起来像是从一个16岁的人。 – PaulG 2009-09-28 18:43:55

+0

@Tom:你有没有影响'ul'或'li'元素的CSS规则?如果是这样,请发布它们。 – Kip 2009-09-28 18:49:08

回答

6

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

我的猜测是,你有什么用CSS和/或JS是造成不能在IE中显示的列表回事。

+1

几乎可以肯定的问题 - 删除页面上的CSS/JS,并将其添加回来,直到它不得不中断为止。 – annakata 2009-09-28 20:39:07

0

在IE 6中工作正常,你有任何css应用于列表?

0

不,IE不显示<ul>的段落。还有其他的错误。是否有可能IE特定的CSS正在改变外观?

1

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

检查的条件(MS特定)代码注释,如:

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

这可能是因为你的CSS规则是不完整的。 IE和Opera对默认列表样式的解释不同于其他浏览器,关于缩进是使用边距还是填充进行。如果您没有正确应用样式,最终可能会出现一个列表,这些列表在您未进行测试的浏览器上看起来有误。这里是进入非常详细的浏览器之间的差异的文章:

A List Apart: Articles: CSS Design: Taming Lists

编辑:这一个:

Consistent List Indentation

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规则?您可能有语法错误(意外删除结束标记?),导致它们呈现不一致。