2012-02-28 30 views
0

嗨大家好, 我嘗試使用HTML 4.01嚴格的圖像映射,但W3C validoter給我的地圖不支持的錯誤, 我的代碼看起來像這w3c驗證器給圖像映射的HTML 4.01嚴格

<img id="link_image" src="images/livechat.png" usemap="#Map" alt="The chat link" /> 
<map name="Map" id="Map" class="newWindow link-chat" ><area shape="rect" coords="79,3,521,67" href="#" alt="The chat link mapping" /></map> 

提供以下錯誤,

Line 57, Column 54: document type does not allow element "MAP" here; missing one of "P", "H1", "H2", "H3", "H4", "H5", "H6", "PRE", "DIV", "ADDRESS" start-tag 
+1

W3C驗證服務不會給出「地圖不支持」的錯誤。如果您引用了您收到的實際錯誤消息,這可能會有所幫助。 – Quentin 2012-02-28 10:43:29

+0

我在那裏添加錯誤消息 – user696734 2012-02-28 10:51:06

回答

1

地圖不能放在body標籤裏面,把它格,而不是(或錯誤消息的替代品之一)內,像這樣:

<div> 
    <img id="link_image" src="images/livechat.png" usemap="#Map" alt="The chat link"/
    <map name="Map" id="Map" class="newWindow link-chat" ><area shape="rect" coords="79,3,521,67" href="#" alt="The chat link mapping"></map> 
</div> 

您還需要刪除不必要的映射短標籤正如之前在其他答案中所建議的。

+0

謝謝你,真的爲我做了魔術 – user696734 2012-02-28 11:18:12

1

取出假「/」字符(「>」)之前或更改文檔使用XHTML,在那裏他們被允許(和需要)。

從技術上講,問題在於,通過SGML規則,「/」終止標籤,而「>」字符則是內容數據,該數據在map元素內是不透明的。並且通過詢問HTML 4.01驗證,您需要申請SGML規則(即使瀏覽器不應用它們)。

驗證器首先發出警告信息「NET啓用啓動標籤需要SHORTTAG是」,這固然神祕,但它是一個線索,以瞭解到底發生了什麼。完整的故事,對那些對這個理論感興趣的人,在Empty elements in SGML, HTML, XML, and XHTML

0

肯定的錯誤是由於/<map>開始標記的末尾存在,並且標記後面放置了標記</map>