1. 程式人生 > >常用瀏覽器相容問題 及css hack總結

常用瀏覽器相容問題 及css hack總結

由於市場上瀏覽器種類眾多,而不同瀏覽器其核心亦不盡相同,所以各個瀏覽器對網頁的解析就有一定出入,這也是導致瀏覽器相容問題出現的主要原因,我們的網頁需要在主流瀏覽器上正常執行,就需要做好瀏覽器相容。

  • 使用Trident核心的瀏覽器:IE、Maxthon、TT;
  • 使用Gecko核心的瀏覽器:Netcape6及以上版本、FireFox;
  • 使用Presto核心的瀏覽器:Opera7及以上版本;
  • 使用Webkit核心的瀏覽器:Safari、Chrome。

相容性問題,主要是說IE與幾個主流瀏覽器如firefox,google等

對瀏覽器相容問題,一般分,HTML相容,Javascript相容,CSS相容。

css reset

每種瀏覽器都有一套預設的樣式表,即user agent stylesheet,網頁在沒有指定的樣式時,按瀏覽器內建的樣式表來渲染。這是合理的,像word中也有一些預留樣式,可以讓我們的排版更美觀整齊。不同瀏覽器甚至同一瀏覽器不同版本的預設樣式是不同的。但這樣會有很多相容問題,CSSReset可以將所有瀏覽器預設樣式設定成一樣。

如全域性重置*{ padding: 0; margin: 0; border:}雖然能全部重置,但由於效能較低,不推薦使用。因為*需要遍歷整個DOM樹,當頁面節點較多時,會影響頁面的渲染效能。這個網站http://cssreset.com/有最新的CSSReset提供給大家參考。

normalize.css沒有重置所有的樣式風格,但僅提供了一套合理的預設樣式值。既能讓眾多瀏覽器達到一致和合理,但又不擾亂其他的東西(如粗體的標題)。

什麼是瀏覽器相容問題?

所謂的瀏覽器相容性問題,是指由於不同的瀏覽器對同一段程式碼有不同的解析,造成頁面顯示效果不統一的情況。

通俗來說就是,使用不同瀏覽器(Firfox、Chrome、IE6、IE7等)訪問同一個網站或者頁面時候,顯示混亂便是不相容

做為一個前端人員最煩惱的就是各種瀏覽器的相容性問題。從微軟的IE6、IE7、IE8到火狐公司的FIREFOX以及其他各公司的瀏覽器多多少少存在一定的相容性問題。每次你在寫HTML的時候是否會感到相當苦惱。以下我們簡單介紹下目前世界流行的各主流瀏覽器。 1、IE瀏覽器 這款瀏覽器是目前世界上最流行的瀏覽器,該瀏覽器因微軟公司的捆綁銷售策略得以流行於全世界。但是到了現 在也是讓前端人員最為頭疼的瀏覽器。其版本從IE6開始一直到現在的IE9,其霸主地位無可動搖,對付該瀏覽器 推薦前端人員使用ietester工具

測試其相容性。 2、火狐瀏覽器 火狐瀏覽器的英文名是Mozilla Firefox,是Mozilla公司的產品,採用了Gecko引擎,支援多種作業系統,並且 該瀏覽器是開源的,使得該瀏覽器下的外掛非常多。最出名的是firebug,這款外掛可以說是前端人員必備的。 它能夠除錯所有網站語言,如Html,Css等,並且它的javascript除錯功能,使用起來也非常方便。 3、360安全瀏覽器 360安全瀏覽器(360 safety browser)是360安全中心推出的一款基於IE核心的瀏覽器,是世界之窗開發者鳳凰工 作室和360安全中心合作的產品。其相容性和IE是一致的,但是也有部分細微的區別,如在CSS中使用了 * 號, 那麼在該瀏覽器下將存在相容性問題。 4、360極速瀏覽器 該款瀏覽器使用了無縫融合雙核引擎webkit核心及相容性最好的IE核心。上網速度快,相容性好,安全性佳,是目前國內最安全的雙核瀏覽器。 5、傲遊瀏覽器 傲遊瀏覽器和360極速瀏覽器相似,也是採用了無縫融合雙核引擎webkit核心及相容性最好的IE核心。 6、谷歌瀏覽器 谷歌瀏覽器(Google Chrome,又稱Google瀏覽器),是一個由Google(谷歌)公司開發的開放原始碼網頁瀏覽 器。該款瀏覽器是基於其他開源瀏覽器的程式碼而開發的,包括WebKit和Mozilla,其穩定性、速度和安全性都相當不錯。 7、搜狗瀏覽器 搜狗瀏覽器是首款給網路加速的瀏覽器,可明顯提升公網教育網互訪速度2-5倍,通過業界首創的防假死技術, 使瀏覽器執行快捷流暢且不卡不死,具有自動網路收藏夾、獨立播放網頁視訊、flash遊戲提取操作等多項特色功能,並且相容大部分使用者使用習慣,支援多標籤瀏覽、滑鼠手勢、隱私保護、廣告過濾等主流功能。 8、TT瀏覽器 騰訊TT瀏覽器是騰訊公司出品的一款集多執行緒、黑白名單、智慧遮蔽、滑鼠手勢等功能於一體的多頁面瀏覽器, 具有快速、穩定、安全的特點。因和騰訊旗下的各產品實現了接入,使得該瀏覽器可以很方便的操作騰訊旗下的 各娛樂產品。 除了以上瀏覽器還有很多其他的瀏覽器產品,但是對於前端人員來說,涉及到的瀏覽器相容性其實主要有2類,一是基於IE核心的瀏覽器,二是基於非IE核心的瀏覽器,只要在這2個方面做好,基本就沒問題了。 上文轉載自:https://blog.csdn.net/xustart7720/article/details/73604559?utm_source=copy

在這裡插入圖片描述

什麼是CSS Hack?

由於不同廠商的流覽器或某瀏覽器的不同版本(如IE6-IE11,Firefox/Safari/Opera/Chrome等),對CSS的支援、解析不一樣,導致在不同瀏覽器的環境中呈現出不一致的頁面展現效果。這時,我們為了獲得統一的頁面效果,就需要針對不同的瀏覽器或不同版本寫特定的CSS樣式,讓它能夠同時相容不同的瀏覽器,我們把這個針對不同的瀏覽器/不同版本寫相應的CSS code的過程,叫做CSS hack!