溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

html5多終端瀏覽器兼容

發(fā)布時間:2020-08-11 19:38:30 來源:ITPUB博客 閱讀:210 作者:ii_chengzi 欄目:web開發(fā)

什么是多終端?

多終端就是包括了我們的電腦,手機,手持式移動設(shè)備比如ipad等。

因為各類設(shè)備的顯示屏幕大小不一,分辨率不一,最佳可視效果的橫豎設(shè)置也不一樣,所以多終端瀏覽器兼容主要就是學習如何讓我們的項目在多終端上呈現(xiàn)相同的顯示效果,它主要涉及到兩塊知識點。

1、瀏覽器兼容

2、寬高自適應

一、瀏覽器兼容

(一)什么是瀏覽器兼容?

在我們的實際開發(fā)中會涉及到在多個瀏覽器比如firefox,opera,chrome,或者IE的多個版本下進行調(diào)試,在不同版本瀏覽器下會出現(xiàn)顯示效果不一的情況,而瀏覽器兼容就是為了處理這種情況。

瀏覽器最重要或者說核心的部分是“Rendering Engine”,可大概譯為“渲染引擎”,不過我們一般習慣將之稱為“瀏覽器內(nèi)核”。負責對網(wǎng)頁語法的解釋(如標準通用標記語言下的一個應用HTML、JavaScript)并渲染(顯示)網(wǎng)頁。 所以,通常所謂的瀏覽器內(nèi)核也就是瀏覽器所采用的渲染引擎,渲染引擎決定了瀏覽器如何顯示網(wǎng)頁的內(nèi)容以及頁面的格式信息。不同的瀏覽器內(nèi)核對網(wǎng)頁編寫語法的解釋也有不同,因此同一網(wǎng)頁在不同的內(nèi)核的瀏覽器里的渲染(顯示)效果也可能不同,這也是網(wǎng)頁編寫者需要在不同內(nèi)核的瀏覽器中測試網(wǎng)頁顯示效果的原因。

主要瀏覽器內(nèi)核有哪些?

1、Trident內(nèi)核代表產(chǎn)品Internet Explorer,又稱其為IE內(nèi)核。Trident(又稱為MSHTML),是微軟開發(fā)的一種排版引擎。使用Trident渲染引擎的瀏覽器包括:IE、傲游、世界之窗瀏覽器、Avant、騰訊TT、Netscape 8、NetCaptor、Sleipnir、GOSURF、GreenBrowser和KKman等。

2、Gecko內(nèi)核代表作品Mozilla FirefoxGecko是一套開放源代碼的、以C++編寫的網(wǎng)頁排版引擎。Gecko是最流行的排版引擎之一,僅次于Trident。使用它的最著名瀏覽器有Firefox、Netscape6至9。

3、WebKit內(nèi)核代表作品Safari、Chromewebkit 是一個開源項目,包含了來自KDE項目和蘋果公司的一些組件,主要用于Mac OS系統(tǒng),它的特點在于源碼結(jié)構(gòu)清晰、渲染速度極快。缺點是對網(wǎng)頁代碼的兼容性不高,導致一些編寫不標準的網(wǎng)頁無法正常顯示。主要代表作品有Safari和Google的瀏覽器Chrome。

4、Presto內(nèi)核代表作品OperaPresto是由Opera Software開發(fā)的瀏覽器排版引擎,供Opera 7.0及以上使用。它取代了舊版Opera 4至6版本使用的Elektra排版引擎,包括加入動態(tài)功能,例如網(wǎng)頁或其部分可隨著DOM及Script語法的事件而重新排版。

5、Blink由Google和Opera Software開發(fā)的瀏覽器排版引擎,2013年4月發(fā)布。

CSS Bug、CSS Hack和Filter

CSS Bug:CSS樣式在各瀏覽器中解析不一致的情況,或者說CSS樣式在瀏覽器中不能正確顯示的問題稱為CSS bug.

CSS Hack:CSS中,Hack是指一種兼容CSS在不同瀏覽器中正確顯示的技巧方法,因為它們都屬于個人對CSS代碼的非官方的修改,或非官方的補丁。有些人更喜歡使用patch(補丁)來描述這種行為。

Filter:表示過濾器的意思,它是一種對特定的瀏覽器或瀏覽器組顯示或隱藏規(guī)則或聲明的方法。本質(zhì)上講,F(xiàn)ilter是一種用來過濾不同瀏覽器的Hack類型。

常見CSS解析Bug及hack

圖片間隙:主要解決插入圖片之后在圖片下方多出3像素的問題

雙倍浮向:當Ie6及更低版本瀏覽器在解析浮動元素時,會錯誤地把浮向邊界加倍顯示。

默認高度:在IE6及以下版本中,部分塊元素擁有默認高度。

表單元素行高不一致:單元素行高對齊方式不一致。

按鈕元素默認大小不一:各瀏覽器中按鈕元素大小不一致。

百分比bug:在IE6及以下版本中在解析百分比時,會按四舍五入方式計算從而導致50%加50%大于100%的情況。

鼠標指針bug:cursor屬性的hand屬性值只有IE瀏覽器識別,其它瀏覽器不識別該聲明,cursor屬性的pointer屬性值IE6.0以上版本及其它內(nèi)核瀏覽器都識別該聲明。

透明屬性:IE低版本瀏覽器只能使用filter設(shè)置透明度,IE高版本瀏覽器及其他瀏覽器要用opacity來設(shè)置。

(二)過濾器(filter)

1、下劃線過濾器

當在一個屬性前面增加了一個下劃線后,由于符合標準的瀏覽器不能識別帶有下劃線的屬性而忽略了這個聲明,但是在IE6及更低版本瀏覽器中會繼續(xù)解析這個規(guī)則。

2、!important關(guān)鍵字過濾器

它表示所附加的聲明具有最高優(yōu)先級的意思。但由于IE6及更低版本不能識別它,我們可以利用IE6的這個Bug作為過濾器來兼容IE6和其它標準瀏覽器。

3、*屬性過濾器

當在一個屬性前面增加了*后,該屬性只能被IE7瀏覽器識別,其它瀏覽器混略該屬性的作用。

二、寬高自適應

什么是寬高自適應?

我們的項目需要在多終端上顯示,那么大家就會發(fā)現(xiàn)電腦顯示器,手機屏幕,平板等,它們的分辨率都不同。我們不可能為了單一顯示而專門做一套規(guī)則,而是需要我們制定地規(guī)則能適應各種設(shè)備的顯示,這就涉及到寬高能自動適配我們設(shè)備的顯示屏分辨率,這就是寬高自適應。

1、寬度自適應

2、元素具備最小高度的自適應

3、高度自適應

http://shenzhen.offcn.com/

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI