1. 程式人生 > 其它 >文件宣告(Doctype)和<!Doctype html>有何作用? 嚴格模式與混雜模式如何區分?它們有何意義?

文件宣告(Doctype)和<!Doctype html>有何作用? 嚴格模式與混雜模式如何區分?它們有何意義?

文件宣告的作用: 文件宣告是為了告訴瀏覽器,當前HTML文件使用什麼版本的HTML來寫的,這樣瀏覽器才能按照宣告的版本來正確的解析。

<!doctype html> 的作用就是讓瀏覽器進入標準模式,使用最新的 HTML5 標準來解析渲染頁面;如果不寫,瀏覽器就會進入混雜模式,我們需要避免此類情況發生。

嚴格模式與混雜模式的區分:

  • 嚴格模式: 又稱為標準模式,指瀏覽器按照W3C標準解析程式碼;
  • 混雜模式: 又稱怪異模式、相容模式,是指瀏覽器用自己的方式解析程式碼。混雜模式通常模擬老式瀏覽器的行為,以防止老站點無法工作;

區分:網頁中的DTD,直接影響到使用的是嚴格模式還是瀏覽模式,可以說DTD

的使用與這兩種方式的區別息息相關。

  • 如果文件包含嚴格的DOCTYPE ,那麼它一般以嚴格模式呈現(嚴格 DTD ——嚴格模式);
  • 包含過渡 DTDURIDOCTYPE ,也以嚴格模式呈現,但有過渡 DTD 而沒有 URI (統一資源識別符號,就是宣告最後的地址)會導致頁面以混雜模式呈現(有 URI 的過渡 DTD ——嚴格模式;沒有 URI 的過渡 DTD ——混雜模式);
  • DOCTYPE 不存在或形式不正確會導致文件以混雜模式呈現(DTD不存在或者格式不正確——混雜模式);
  • HTML5 沒有 DTD ,因此也就沒有嚴格模式與混雜模式的區別,HTML5 有相對寬鬆的 法,實現時,已經儘可能大的實現了向後相容(HTML5 沒有嚴格和混雜之分
    )。

總之,嚴格模式讓各個瀏覽器統一執行一套規範相容模式保證了舊網站的正常執行。