2009-09-28 31 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規則?您可能有語法錯誤(意外刪除結束標記?),導致它們呈現不一致。