一、doctype的作用,嚴格與混雜模式的區別,有何意義
1、語法格式:<!DOCTYPE html>
2、<!DOCTYPE>不是Html標籤,而是告知瀏覽器此頁面使用哪個HTML版本進行編寫的指令
3、html 4.01中有如下三種模式
1、html 4.01 Strict 嚴格模式,不包含展示性(純粹為頁面展示服務的標籤,如:b、font等,因為這些在css中有相應的替代方案)和棄用的元素,如:font,不允許框架集(framesets);
2、html 4.01 Transitional 過濾模式,包含展示性和棄用元素,但不包含框架集(framesets);
3、html 4.01 Frameset 寬鬆模式,包含展示性與棄用元素,也包含構架集(framesets);
4、xhtml 中有如下四種模式
1、xhtml 1.0 Strict 嚴格模式,不包含展示性與棄用的標籤,不允許框架集(framesets),且嚴格以xml格式來編寫標記;
2、xhtml 1.0 Transitional 過濾模式,包含展示性與棄用標籤,不允許框架集(framesets),且嚴格以xml格式來編寫標記;
3、xhtml 1.0 Frameset 寬鬆模式,包含展示性與棄用標籤,允許框架集(framesets),且嚴格以xml格式來編寫標記;
4、xhtml 1.1,等同於xhtml 1.0 strict,但允許新增模型。
5、標準模式與混雜的的區別
1、這兩種模式主要是瀏覽器廠商提煉出來的,標準模式時瀏覽器會根據規範來呈現頁面,而混雜模式時瀏覽器則以向後相容的方式呈現;
2、Mozilla和Safari則用了“幾乎標準模式”,就是在處理表格的方式上有一此細微的差異;
3、最大問題就是IE的盒子渲染機制,出現border-box(怪異模式)、content-box方式;
6、如何觸發混雜模式
1、html 4.01文件,如果包含transitional(過濾)DTD但沒有URI則以混雜模式渲染;
2、如果xhtml、html不存在<!DOCTYPE>標籤,則已混雜模式渲染
二、HTML5為什麼只需要寫<!DOCTYPE HTML>
主要原因為html5中只有一個文件型別,就是html,而不像html 4.01或xhtml1.0還有多個文件型別。
三、行內元素、塊級元素,空元素有那些
1、行內元素:span、a、em(強調)、label、textarea、select、sub、sup等
2、塊級元素:div、ul、ol、li、h1~h6、table、form、p、dl、dd、dt等。
3、空元素:br、hr
四、link與@import匯入樣式的區別
1、html頁引用css的三種,一是頁內的style標籤,二、link外鏈;三是@import匯入
2、link是xhtm標籤,不只外鏈css,還是可是rss服務,而@import只能是css
3、link外鏈的檔案會與文件同步載入,而@import則是等待文件載入完成後才載入
4、link沒有相容性問題,而@import是css2.1規範中的,低版本瀏覽器不支援
5、link支援使用js控制DOM元素樣式,而@import不可以(也就是說可以通過javascript來操作link標籤來改變css文件,以達到更換皮膚的效果,而用@import則不行)
<style> @import url('test.css'); </style>