在驗證通過W3C驗證服務的標記得到了下面這樣的錯誤流浪結束標記IMG
流浪結束標記IMG
代碼就像下面
<a title="text" href="url">
<img class="text" src="imgSrc" alt="Text"></img>
</a>
這是什麼意思?我們如何避免它?
在驗證通過W3C驗證服務的標記得到了下面這樣的錯誤流浪結束標記IMG
流浪結束標記IMG
代碼就像下面
<a title="text" href="url">
<img class="text" src="imgSrc" alt="Text"></img>
</a>
這是什麼意思?我們如何避免它?
如果你的文件是符合XHTML,那麼你必須關閉img
標籤與<img src="image.jpg"/>
,不與<img>...</img>
。
如果你的文件是HTML5兼容,那麼你不需要/>
部分,只使用<img src="image.jpg">
如果你不知道意味着文檔應該是XHTML或者HTML5兼容 - 這是對第一行的HTML頁面,所謂的document type definition
:
<!DOCTYPE HTML>
對HTML5和
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
的XHTML 1.0過渡
注意:<!DOCTYPE>
聲明是強制性的(如果您希望您的頁面使用HTML驗證程序進行驗證),並且始終應該是HTML文檔中的第一件事。
注意:儘管文檔類型定義在技術上不是功能性網頁所必需的,但最好始終將其包含在代碼中。在學習構建網頁時,應養成在代碼中始終包含文檔類型定義的習慣。
更多閱讀:
' ...'是有效的XHTML,由於兼容性原因,不建議用於網頁。很顯然,在針對XHTML進行驗證時不會出現問題。 –
Hi @ bodi0感謝您的回答。它幫助了我。 –
基本上,這意味着你應該刪除</img>
,因爲它不需要爲<img>
標籤:
<img class="text" src="imgSrc" alt="Text">
另外,僅供參考用途,這裏還有「關閉」標籤的XHML方式:
<img class="text" src="imgSrc" alt="Text" />
因此,「流浪結束標記...」只意味着一個結束標記沒有在允許的上下文出現的地方。正如驗證器的解釋所說:「Validator爲上述元素找到了一個結束標記,但該元素當前未打開。這通常是由編輯期間刪除的元素的剩餘結束標記引起的,或者是由隱式關閉的元素引起的(如果在不允許的情況下使用的元素有錯誤,則幾乎肯定是這種情況)。在後一種情況下,只要解決原始問題,該錯誤就會消失。「
從症狀(錯誤消息字符串)中,我們可以推斷出您正在HTML序列化中針對HTML5進行驗證。這意味着img
元素不允許使用結束標記,因爲開始標記被視爲也關閉元素(「隱式關閉元素」)。
因此,解決方案是刪除</img>
標記或在XHTML序列化中針對HTML5進行驗證。後者對於網頁並不實用,但如果您使用HTML作爲其他內容,則應該通過指向使用XML內容類型的資源的URL進行驗證。
您應該始終指定哪個'doctype'字符串(如果有)出現在頁面的開頭,因爲這決定了驗證模式。 –