2011-06-14 113 views
1

學習一些關於XHTML和HTML之間的區別,我看着我們的網頁之一的源:此頁面是否爲正確的HTML編碼不正確?

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 

這是正確的嗎?似乎它試圖成爲一個HTML頁面,但是有一個指向XHTML命名空間的鏈接?

回答

3

它看起來像有人在使用XHTML文檔類型,以及相關的xmlns屬性:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 

接着就聽到HTML5是閃亮的新文檔類型,所以他們改變到和結束:

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml" > 

只是爲了說清楚,這是它應該是什麼:

<!DOCTYPE html> 
<html> 
+1

這意味着你可以放棄'xmlns'屬性,因爲它不是HTML5所必需的。 – 2011-06-14 11:08:36

+0

@James Allardice然而,它對於XHTML5是必需的。 – mc10 2011-06-14 21:39:37

+0

@ mc10 - 確實如此,但正如答案在談論HTML5一樣,該屬性不是必需的(因爲答案現在已更新爲顯示)。 – 2011-06-14 21:44:39

1

您提供的編碼,

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 

是完全沒問題。這意味着該網頁使用XHTML5,即HTML5的XML序列化。但是,如果您希望將頁面呈現爲適當的XHTML5,則應將頁面的內容類型標題發送爲application/xhtml+xml;在XHTML5中不允許使用text/html

對於實際的原因(尤其是與以前的IE版本的兼容性,最值得注意的是IE   6),你應該使用HTML5,而不是XHTML5,如下所示:

<!DOCTYPE html> 
<html> 

注意,當然,前提是該xmlns屬性已被刪除。