2010-08-17 51 views
0

有些人可以解釋爲什麼TD元素在嚴格模式下不允許使用寬度。這是代碼[由於HTML渲染問題而無法放置代碼。]代碼不是在嚴格模式下運行

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 

<html> 

<head> 
<meta http-equiv="Content-Type" content="text/xml+xhtml; charset=utf-8"/> 
</head> 
<body> 
<table> 
<tr> 
    <td width="200">First</td> 
    <td>Second</td> 
</tr> 
</table> 

</body> 
</html> 
+0

爲什麼使用HTML 4.01 doctype來處理XHTML文檔? – BoltClock 2010-08-17 09:22:53

+1

我不認爲元標記會使瀏覽器將文檔解釋爲XHTML。它需要通過該類型的Web服務器提供。一旦它被分析到足以閱讀meta標籤就太遲了。 – 2010-11-08 21:37:06

回答

1

即使按照規範已棄用,瀏覽器仍將應用它,因爲您指定了它。對於較舊的文檔,它必須寬鬆,否則可能會破壞佈局,如果它沒有應用該屬性。

0

既然你指定了它,瀏覽器將會應用它,但你的文檔不會被驗證。

0

您的文檔類型(HTML 4.01)與您的內容類型不匹配。

內容類型應爲application/xhtml+xml,而不是text/xml+xhtml您的Web服務器也應該成爲你的頁面,這樣爲了符合標準的瀏覽器要嚴格對待它(即,無法呈現您的文檔,如果它是無效的)。另外,正如Alohci所說,您需要爲XHTML規範包含一個XML命名空間。

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

否則,瀏覽器將只呈現像你告訴他們,無視標準,但如果你嘗試驗證這一點,還是會失敗。

+0

而且,如果OP執行此操作,它仍會失敗,因爲在任何地方都沒有指定XHTML名稱空間。 – Alohci 2010-08-17 11:21:41

0

我做了一切建議,但它仍然採取寬度屬性。我認爲這是因爲瀏覽器現在必須支持它,但未來的瀏覽器會在這樣的代碼上拋出一個錯誤

相關問題