h5核心技術---的作用(DOCTYPE)


DOCTYPE描述了html文檔的類型,對不同的DOCTYPE類型,瀏覽器會使用不同的方法來解析。

 

沒有 <!DOCTYPE html> 會以怪異模式來渲染頁面

        在ie9往上的瀏覽器中,三種模式在渲染方面幾乎沒有區別
        在ie 7 8 9中,理論上存在怪異模式,實際只有標准模式
        在ie6中,標准模式和怪異模式渲染的區別最大
        在ie6以下的瀏覽器中,只有怪異模式
 
###H5
    1.DOCTYPE和瀏覽器渲染模式
        DOCTYPE,或者稱為 Document Type Declaration(文檔類型聲明,縮寫 DTD)
        通常情況下,DOCTYPE 位於一個 HTML 文檔的最前面的位置,位於根元素 HTML 的起始標簽之前。
        因為瀏覽器必須在解析 HTML 文檔正文之前就確定當前文檔的類型,以決定其需要采用的渲染模式,
        不同的渲染模式會影響到瀏覽器對於 CSS 代碼甚至 JavaScript 腳本的解析
        
        
        到目前為止,各瀏覽器主要包含了三種模式。在 HTML5 草案中,更加明確的規定了模式的定義:
             傳統名稱                               HTML5 草案名稱              document.compatMode 返回值
        standards mode(strict mode)             no-quirks mode              CSS1Compat
        almost standards mode                   limited-quirks mode         CSS1Compat
        quirks mode                             quirks mode                 BackCompat
    
    
        document.compatMode
             document.compatMode 屬性最初由微軟在 IE 中創造出來,這是一個只讀的屬性,返回一個字符串,
             只可能存在兩種返回值:
                BackCompat:標准兼容模式未開啟(怪異模式)
                CSS1Compat:標准兼容模式已開啟(標准模式)
    
        在現代主流瀏覽器中,其實怪異模式的渲染和標准與幾乎標准間沒有太大的差別(ie9+ 谷歌 火狐 ...)
        ie5.5之前都是ie自己的渲染模式,怪異模式
        ie6才開始慢慢支持標准,標准模式,在ie6 中怪異和標准模式的區別最大
        ie7 8 9都是基於標准模式升級的,他們理論上存在怪異模式
    
        HTML5提供的<DOCTYPE html>是標准模式,向后兼容的,等同於開啟了標准模式,
        那么瀏覽器就得老老實實的按照W3C的 標准解析渲染頁面
        一個不含任何 DOCTYPE 的網頁將會以 怪異(quirks) 模式渲染。
        
        
        
        
        
    2.DTD
        <!DOCTYPE html>
            當 doctype 信息如上時,表明該頁面是遵守了 HTML5 規范的,瀏覽器會選擇 Standards Mode,這種 doctype 是最推薦的一種,
        我們平時設計頁面都應該加上這一個 doctype。
            HTML5 不基於 SGML,所以不需要引用 DTD,瀏覽器內部本身有對標簽進行解析渲染驗證的模塊
        
        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
        當 doctype 如上時,瀏覽器同樣會選擇 Standards Mode,雖然和第一種 doctype 有一些區別,但是幾乎可以認為是一樣的。

        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
        當 doctype 如上時,瀏覽器會選擇 Almost Standards Mode,渲染時和標准會有一些區別

        當 doctype 缺失的時候,瀏覽器會選擇 Quirks Mode,這是非常不推薦的方式,
        當 doctype上面有注釋,標簽或者空行時,某些瀏覽器都會認為該頁面不具有doctype。
        我們應該盡量避免 Quirks Mode,這對一個 web 應用是非常不利的地方。
        
    
    
      
         
    4.每種doctype在瀏覽器中對應的渲染模式
        https://en.wikipedia.org/wiki/Quirks_mode
                
                
    
    
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM