有人可以向我解釋,爲什麼這段代碼有效?爲什麼這個html代碼有效?
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html<head>
<title//
<p ltr<span id=p></span</p>
</>
我期待收到您的回覆。感謝您的關注
有人可以向我解釋,爲什麼這段代碼有效?爲什麼這個html代碼有效?
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html<head>
<title//
<p ltr<span id=p></span</p>
</>
我期待收到您的回覆。感謝您的關注
這些HTML代碼是有效的,因爲HTML 4.01允許這些事情,而尊重文檔類型的互聯網瀏覽器將顯示沒有問題。
如果您將文檔類型更改爲HTML 5,那麼肯定會給出錯誤,因爲HTML 5對於編寫正確的HTML標籤要求更嚴格。
HTML 4.01(根據https://validator.w3.org/#validate_by_input沒有錯誤):
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html<head>
<title//
<p ltr<span id=p></span</p>
</>
HTML 5(15錯誤根據https://validator.w3.org/#validate_by_input):
<!DOCTYPE html>
<html<head>
<title//
<p ltr<span id=p></span</p>
</>
說明:
即HTML結構是有效的,因爲根據HTML 4.0.1規範(https://www.w3.org/TR/1999/REC-html401-19991224/):
B.3.7速記標記
一些SGML SHORTTAG構建節省打字但SGML應用程序沒有表現能力。儘管這些構造在技術上不會引入歧義,但它們會降低文檔的健壯性,特別是在語言增強以包含新元素時。因此,儘管與屬性相關的SGML的SHORTTAG構造被廣泛使用和實現,但與元素相關的構造不是。使用它們的文檔符合SGML文檔,但不可能與許多現有的HTML工具一起使用。
的SHORTTAG構建中的問題有以下幾種:
- NET標籤:
<name/.../
- 封閉開始標記:
<name1<name2>
- 空開始標記:
<>
- 空結束標籤:
</>
從https://www.w3.org/TR/1999/REC-html401-19991224/appendix/notes.html#h-B.3.7引用。
因此基於該HTML 4。01規格,這意味着:
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
2 <html<head>
3 <title//
4 <p ltr<span id=p></span</p>
5 </>
<html>
打開標籤,關閉</html>
標籤沒有必要。<head>
打開標籤,關閉</head>
標籤沒有必要。<title>
開放標記,其中互聯網瀏覽器讀取<title// <p ltr<span id=p>
只需<title>
,關閉</title>
標記是沒有必要的。<title>
標記的內容(內部HTML),它是</span</p> </>
(這是因特網瀏覽器顯示爲頁面標題的內容)。這是我另外的解釋。希望能夠幫助你。
爲什麼不應該這樣? (你有很多不常用的HTML特性,如果你對它們中的一個有特定的問題,那麼這可能會是一個更好的問題) – Quentin
對我來說這似乎不合適。 –
它引發7個警告。對我而言,這是無效的。如果您不關閉標籤,則會顯示警告。 –