2012-02-09 176 views
0

我試圖訂購一些用li標籤創建的使用Dreamweaver的行。明確:在Dreamweaver中,這兩項工作都做得很好,看起來很好。但是,當我確認我收到類似於這些的一些錯誤代碼:如何修復「div」標籤</li><li>標籤

Line 65, Column 53: document type does not allow element "div" here; assuming missing "li" start-tag 
<div style="clear: both; background: none; "></div> 
Line 73, Column 12: document type does not allow element "li" here; missing one of "ul", "ol", "menu", "dir" start-tag 
<li> 

我的代碼是在這裏:http://sudrap.org/paste/text/90799/

回答

2

使用div有語義上不正確。

ulol元素只能有li作爲子節點。 li可能有其他類型的元素。

CSS僞選擇器:after應該在這裏爲你做竅門。

或者你可以使用它的另一種變化,但我認爲這是什麼適合您要求的法案。

試試這個: li:after {clear: both; }

+0

嗨,謝謝你的提示。所有問題突然都在應用這個選擇器。並且感謝knichol,我知道它與ie6和ie7不兼容。所以我只想給訪問者一個關於瀏覽器版本的警告。 – nikel 2012-02-09 18:03:34

0

div需求是一個li標籤內,如果它要成爲ul標籤的子

+0

感謝您的回覆 – nikel 2012-02-09 18:06:10

1

你可以簡單地添加style="clear:both;"<li>和刪除有問題的<div>所有一起。

我不建議只使用CSS li:after {},因爲該選擇器不是跨瀏覽器兼容的。

+0

感謝您的回覆。我曾嘗試過,但用Dreamweaver看起來不太好。所以我在這裏問。 – nikel 2012-02-09 17:36:16

0

標記<li>是內聯元素,<div>是塊元素。

:形成單獨塊的元素。

inline:與其餘內容保持內聯的元素。

因此理論上,內聯元素中不能存在塊元素。但僅在理論上,因爲在實踐中瀏覽器將此解釋爲正常。

提示:不要擔心W3C驗證!

+0

感謝您的回覆 – nikel 2012-02-09 18:06:17