# 常見瀏覽器及內核
- IE:trident內核
- Firefox:gecko內核
- Safari:webkit內核
- Opera:以前是presto內核荚虚,Opera現(xiàn)已改用Google chrome的Blink內核
- Chrome:Blink(基于webkit,Google與Opera Software共同開發(fā))
# Doctype是干什么用的
<!DOCTYPE>聲明位于文檔的最前面位置统诺,處于<html>標簽之前埂息。此標簽可告知瀏覽器文檔使用哪種HTML或XHTML規(guī)范皮璧。(重點:告訴瀏覽器按照何種規(guī)范解析頁面)
# Quirks模式是什么舟扎?它和Standards模式有什么區(qū)別?
從IE6開始悴务,引入了standards模式睹限,標準模式中,瀏覽器嘗試給符合標準的文檔在規(guī)范上的正確處理達到在指定瀏覽器中的程度讯檐。
在IE之前CSS還不夠成熟羡疗,所以IE5等之前的瀏覽器對CSS的支持很差,IE6將對CSS提供更好的支持别洪,然而這時的問題就來了叨恨,因為有很多的頁面是基于舊的布局方式寫的,而如果IE6支持CSS則將令這些頁面顯示不正常挖垛,如何在既保證不破壞現(xiàn)有頁面痒钝,又提供新的渲染機制呢?
在寫程序時我們也會經常遇到這樣的問題痢毒,如何保證原有的接口不變送矩,又提供強大的功能,尤其是新功能不兼容舊功能時闸准。遇到這樣的問題時一個常見的做法就是增加參數和分支益愈,即當某個參數為真時,我們就使用新功能夷家,而如果這個參數蒸其,不為真時,就使用舊功能库快,這樣就能不破壞原有的程序摸袁,又提供新功能。IE6也是類似這樣做的义屏,它將DTD當成了這個“參數”靠汁,因為以前的頁面大家都不會去寫DTD蜂大,所以IE6就假定,如果寫了DTD蝶怔,就意味著這個頁面將采用對CSS支持更好的布局奶浦,而如果沒有,則采用兼容之前的布局方式踢星。這就是Quirks(怪異模式).
區(qū)別:
總體會有布局澳叉、樣式解析和腳本運行三個方面的區(qū)別。
盒模型:在w3c標準中沐悦,如果設置一個元素的寬度和高度成洗,指的是元素內容的寬度和高度,而在Quirks模式下藏否,IE的寬度和高度還包含了padding和border瓶殃。
```
Internet Explorer 'width'
```
設置行內元素的高寬:在Standards模式下,給<span>等行內元素設置width和height都不會生效副签,而在Quirks模式下遥椿,則會生效。
設置百分比的高度:在standards模式下淆储,一個元素的高度是由其包含的內容來決定的修壕,而如果父元素沒有設置百分比的高度,子元素設置一個百分比的高度是無效的遏考。用margin:0 auto設置水平居中在standards模式下可以使元素水平居中,但在Quirks模式下卻會失效蓝谨。