?Rendering Engine,中文翻譯過來名稱很多,排版引擎、解釋引擎、渲染引擎,現在流行稱為瀏覽器內核。 用來渲染網頁內容的,將網頁的內容和排版代碼轉換為可視的頁面,一個瀏覽器可能不止有一個內核。
1、排版引擎(1)Trident(Windows)360 IE
(2)Gecko(跨平臺)Mozilla Firefox、Mozilla SeaMonkey
(3)KHTML(Linux)Konqueror
(4)WebKit(跨平臺)Apple Safari、Symbian系統瀏覽器
(5)Chromium(跨平臺) Chromium、Google Chrome、SRWare Iron、Comodo Dragon
(6)Presto(跨平臺)Opera
(1)Chakra
查克拉,IE9啟用的新的JavaScript引擎。
(2)SpiderMonkey/TraceMonkey/JaegerMonkey
SpiderMonkey應用在Mozilla Firefox 1.0-3.0,TraceMonkey應用在Mozilla Firefox 3.5-3.6版本,JaegerMonkey應用在Mozilla Firefox 4.0及后續的版本。
(3)V8
應用于Chrome、傲游3。
(4)Nitro
應用于Safari 4及后續的版本。
(5)Linear A/Linear B/Futhark/Carakan
Linear A應用于Opera 4.0-6.1版本,Linear B應用于Opera 7.0~9.2版本,Futhark應用于Opera 9.5-10.2版本,Carakan應用于Opera 10.5及后續的版本。
(6)KJS
KHTML對應的JavaScript引擎。
(1)Trident/Gecko雙核瀏覽器
(2)Trident/WebKit雙核瀏覽器
現在國內最主流的“雙核”瀏覽器基本都是這個架構,360極速瀏覽器、世界之窗瀏覽器極速版、傲游3搜狗瀏覽器3、QQ瀏覽器、楓樹瀏覽器、快快瀏覽器、百度瀏覽器、阿云瀏覽器(后期版本)、太陽花瀏覽器,其中最奇葩的是傲游3。其它雙核瀏覽器都是基于Chromium的,而傲游是基于WebKit的,但是偏偏又用的是V8引擎。
(3)Trident/Gecko/WebKit三核瀏覽器
目前能見的應該就是日本的Lunascape,Avant增加了WebKit內核之后也會歸類到這里。說實話,Lunascape真的很難用,真的很奇葩。各個內核相對獨立,外殼本身不夠強化,穩定性不高,所以還不如用回單核瀏覽器。
對瀏覽器兼容問題,一般分,HTML,Javascript兼容,CSS兼容。 其中html相關問題比較容易處理,無非是高版本瀏覽器用了低版本瀏覽器無法識別的元素,導致其不能解析,所以平時注意一點就是。特別是HTML5增加了許多新標簽,低版本瀏覽器有點影響時代進步啊
1、css兼容(1) 不同瀏覽器的margin和padding的默認設置差距大,使用*{margin:0px;padding:0px;}
(2)ie6、7和遨游里這個標簽的高度不受控制,超出自己設置的高度.在此標簽中加入overflow:hidden
(3)圖片默認有間距,使用float
(4)盒子坍塌,父元素加入(overflow:hidden;)變成BFC元素
(5)字體大小在不同瀏覽器里不一致,使用line-height:14px;指定高度
(6)IE6 不支持 png 透明效果
(7)CSS Hack兼容性屬性設置
HTML 篇
(1)樣式兼容性問題
!-- IE 按 Edge 模式渲染 --
meta http-equiv= X-UA-Compatible content= IE=Edge /
!-- IE 8 9 10 按 IE7 模式渲染 --
meta http-equiv= X-UA-Compatible content= IE=Emulate7 /
(2)怪異模式
怪異模式是沒有遵守 W3C 規范的一種兼容模式,其中的 width 是包括 contentWidth, 左右padding, 左右border 在內的全部范圍(height 也一樣),類似于 box-sizing: border-box;,而且 table 的 font-size 不能從父元素繼承。以下情況會觸發瀏覽器怪異模式(Quirks Mode):
沒寫 DOCTYPE 觸發怪異模式
在 !DOCTYPE ... 前加 ?xml version= 1.0 encoding= utf-8 ? , IE6 下會觸發怪異模式
在 !DOCTYPE ... 前加入 !-- keep IE7 in Quirks Mode -- , IE7進入怪異模式
!DOCTYPE ... 前有任何非空字符,會在IE6 下會觸發怪異模式
!DOCTYPE ... 前有 XML ,在IE7 下不會觸發怪異模式,但不能有其他非空字符
檢查document.compatMode,可以查看瀏覽器工作在哪個模式:值BackCompat為怪異模式,值CSS1Compat為標準模式
(3)display:inline-block 元素間有間隙
!-- 以下的 li 元素是 display: inline; 類型的 -- !-- 這樣寫元素之間有間隙 -- li apple /li li banana /li li pineapple /li li peach /li li orange /li /ul !-- 換個寫法解決問題-- li apple /li li banana /li li pineapple /li li peach /li li orange /li /ul
(4)IE可能出現的文檔樣式短暫失效問題
head !-- meta部分 -- title /title !-- 可能的script部分 -- script type= text/javascript /script !-- 關鍵:添加一個空標簽 -- !-- link部分 -- /head
相關推薦:
瀏覽器內核信息整理
瀏覽器內核 網址分解 web服務器
js判斷瀏覽器版本以及瀏覽器內核的方法_javascript技巧
以上就是瀏覽器內核以及瀏覽器兼容的問題分析的詳細內容,html教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答
圖片精選