深入理解DOCTYPE的作用

2021-08-20 21:08:42 字數 1796 閱讀 5208

現在的**編輯器越來越人性化,各種外掛程式、快捷鍵都能夠幫助我們快速生成**。比如:使用vscode編輯器在html文件中輸入!再按tab鍵就能快速生成乙個完整的html結構。如圖所示

今天我們要說的不是**編輯器,我們將目光移到文件的頂部,會發現頂部有乙個宣告,很多人不知道這個這個宣告有何作用,甚至還想把它給刪除。

doctype是document type (文件型別) 的縮寫。宣告位於文件的最前面,處於標籤之前,它不是html標籤。主要作用是告訴瀏覽器的解析器使用哪種html規範或者xhtml規範來解析頁面。

在w3c標準出來之前,不同的瀏覽器對頁面渲染有不同的標準,產生了一定的差異。這種渲染方式叫做混雜模式。在w3c標準出來之後,瀏覽器對頁面的渲染有了統一的標準,這種渲染方式叫做標準模式。不存在或者形式不正確會導致html或xhtml文件以混雜模式呈現,就是把如何渲染html頁面的權利交給了瀏覽器,有多少種瀏覽器就有多少種展示方式。因此要提高瀏覽器相容性就必須重視

嚴格模式和混雜模式都是瀏覽器的呈現模式,瀏覽器究竟使用混雜模式還是嚴格模式呈現頁面與網頁中的dtd(檔案型別定義)有關,dtd裡面包含了文件的規則。比如:loose.dtd

嚴格模式:又稱標準模式,是指瀏覽器按照w3c標準來解析**,呈現頁面

混雜模式:又稱為怪異模式或者相容模式,是指瀏覽器按照自己的方式來解析**,使用一種比較寬鬆的向後相容的方式來顯示頁面。

html5

html 4.01 strict該 dtd 包含所有 html 元素和屬性,但不包括展示性的和棄用的元素(比如 font)。不允許框架集(framesets)。

html 4.01 transitional該 dtd 包含所有 html 元素和屬性,包括展示性的和棄用的元素(比如 font)。不允許框架集(framesets)。

html 4.01 frameset該 dtd 等同於 html 4.01 transitional,但允許框架集內容。

xhtml 1.0 strict該 dtd 包含所有 html 元素和屬性,但不包括展示性的和棄用的元素(比如 font)。不允許框架集(framesets)。必須以格式正確的 xml 來編寫標記。

xhtml 1.0 transitional該 dtd 包含所有 html 元素和屬性,包括展示性的和棄用的元素(比如 font)。不允許框架集(framesets)。必須以格式正確的 xml 來編寫標記。

xhtml 1.0 frameset該 dtd 等同於 xhtml 1.0 transitional,但允許框架集內容。

xhtml 1.1該 dtd 等同於 xhtml 1.0 strict,但允許新增模型(例如提供對東亞語系的 ruby 支援)。

深入理解Cookie作用機制

對於cookie的基本知識即什麼是cookie可以看一下 這篇文章,都有詳細介紹 在做分布式專案的時候,不同的功能模組分布在不同的伺服器中,通過乙個位址去訪問另乙個位址,只要訪問協議,ip位址,埠號三者中的乙個地方不同,都會出現跨域問題 cookie是不可跨網域名稱的。網域名稱www.google....

setuid的作用 深入理解SetUID

在linux系統中每個普通使用者都可以更改自己的密碼,這是合理的設定。問題是 使用者的資訊儲存在檔案 etc passwd中,使用者的密碼儲存在檔案 etc shadow中,也就是說使用者更改自己密碼時是修改了 etc shadow檔案中的加密密碼,但是,look rw r r 1 root roo...

深入理解變數 作用域 記憶體

變數這個概念其實說簡單也簡單,說複雜也複雜。特別是再記憶體的角度來理解 1 我們暫且不管堆記憶體和棧記憶體是什麼?我們把房間比作堆記憶體 房間號比作棧記憶體 2 定義 引用型別是堆記憶體中物件 基本型別是棧記憶體簡單資料段 3 這句話如何理解?4 var home 12 這代表房間的門牌號是12 v...