在我的瀏覽器,我枕着我已經取得html頁面的頁面的源代碼,並注意到
<html>
是紅色字體,這意味着有錯誤。
我才加入這個:
<!DOCTYPE html>
,它不會出現在紅色字體現在。
問題是...我的頁面的外觀與以前不同,當時我沒有doctype。
問題是,可以不聲明doctype並仍保留我的頁面樣式嗎?
在我的瀏覽器,我枕着我已經取得html頁面的頁面的源代碼,並注意到
<html>
是紅色字體,這意味着有錯誤。
我才加入這個:
<!DOCTYPE html>
,它不會出現在紅色字體現在。
問題是...我的頁面的外觀與以前不同,當時我沒有doctype。
問題是,可以不聲明doctype並仍保留我的頁面樣式嗎?
請勿寫入有效的HTML以消除驗證錯誤。編寫有效的HTML以便一致地呈現給所有客戶端。
您不能保留您的頁面樣式,如您所說,無需指定doctype指示用戶代理如何解釋以下代碼。儘管如此,您所寫的標記可能與上面引用的其他文檔類型更符合。
不建議使用w3schools參考,請參見[w3fools.com](http://w3fools.com) –
-1將w3schools鏈接更改爲其他內容,我會給你回覆。 – think123
你是對的,所以我不會讓你失望,但你的評論有點奇怪。在大多數情況下,有效的文檔也是一致顯示的文檔。這兩者不是相互排斥的。另外,爲什麼還要鼓勵使用除HTML5文檔類型以外的任何內容? –
在一些(也有不少實際上)瀏覽器如IE,渲染將是截然不同的(請注意我用的非常大的),如果你不把DOCTYPE(Quirks Mode - Wikipedia)。
在任何情況下,最好的做法是每次添加一個。得到類似TextExpander的東西,以便於輸入。
就像記住每天早上刷牙一樣,這是另一種應該是強制性的習慣。
此外,請考慮每次使用HTML5 DocType(您使用的)。
該標準規定所有文檔都應該有文檔類型定義 - 文檔類型(Document Type)聲明。 W3定義了一個可以使用的list of doctypes。
正如您發現的,添加錯誤 doctype具有一些有趣的結果。因此,根據您的文檔所遵循的內容,提供文檔的文檔類型是正確的。
請參閱this excellent article詳細瞭解這一點。
有不只是一種類型的HTML中,其實有很多:HTML 4。01嚴格,HTML 4.01過渡,XHTML 1.0嚴格等等。所有這些類型的HTML都在其各自的W3C specifications中定義,但它們也是以機器可讀的語言定義的,用於指定HTML類型的合法結構,元素和屬性。
這樣的定義被稱爲「文檔類型定義」,或簡稱爲DTD。
爲什麼指定文檔類型?
,因爲它定義其中版本(X)HTML文檔實際使用,這是由一些工具處理文檔所需信息的關鍵部分。
例如,指定文檔的文檔類型允許您使用諸如Markup Validator之類的工具來檢查您的(X)HTML的語法。如果他們不知道您使用的是什麼類型的文檔,這些工具將無法工作。
但最重要的是,對於大多數瀏覽器系列,文檔類型聲明將使大量猜測變得不必要,從而觸發「標準」呈現模式。
Doctype定義您的文檔實際使用的(X)HTML版本,這是處理文檔的某些工具所需的關鍵信息。
http://www.w3.org/QA/Tips/Doctype
上述看完鏈接,您可以決定它,它好不好。 :)
它定義了您的文檔實際使用的(X)HTML版本,這是處理文檔的某些工具所需的關鍵信息。詳情請參閱我的回答。 –
有大量以前的問題基本上是同一個問題,有很好的(和一些不好的)答案。搜索「doctype」以查看其中的一些。 –