您好,登錄后才能下訂單哦!
什么是多終端?
多終端就是包括了我們的電腦,手機,手持式移動設備比如ipad等。
因為各類設備的顯示屏幕大小不一,分辨率不一,最佳可視效果的橫豎設置也不一樣,所以多終端瀏覽器兼容主要就是學習如何讓我們的項目在多終端上呈現相同的顯示效果,它主要涉及到兩塊知識點。
1、瀏覽器兼容
2、寬高自適應
一、瀏覽器兼容
(一)什么是瀏覽器兼容?
在我們的實際開發中會涉及到在多個瀏覽器比如firefox,opera,chrome,或者IE的多個版本下進行調試,在不同版本瀏覽器下會出現顯示效果不一的情況,而瀏覽器兼容就是為了處理這種情況。
瀏覽器最重要或者說核心的部分是“Rendering Engine”,可大概譯為“渲染引擎”,不過我們一般習慣將之稱為“瀏覽器內核”。負責對網頁語法的解釋(如標準通用標記語言下的一個應用HTML、JavaScript)并渲染(顯示)網頁。 所以,通常所謂的瀏覽器內核也就是瀏覽器所采用的渲染引擎,渲染引擎決定了瀏覽器如何顯示網頁的內容以及頁面的格式信息。不同的瀏覽器內核對網頁編寫語法的解釋也有不同,因此同一網頁在不同的內核的瀏覽器里的渲染(顯示)效果也可能不同,這也是網頁編寫者需要在不同內核的瀏覽器中測試網頁顯示效果的原因。
主要瀏覽器內核有哪些?
1、Trident內核代表產品Internet Explorer,又稱其為IE內核。Trident(又稱為MSHTML),是微軟開發的一種排版引擎。使用Trident渲染引擎的瀏覽器包括:IE、傲游、世界之窗瀏覽器、Avant、騰訊TT、Netscape 8、NetCaptor、Sleipnir、GOSURF、GreenBrowser和KKman等。
2、Gecko內核代表作品Mozilla FirefoxGecko是一套開放源代碼的、以C++編寫的網頁排版引擎。Gecko是最流行的排版引擎之一,僅次于Trident。使用它的最著名瀏覽器有Firefox、Netscape6至9。
3、WebKit內核代表作品Safari、Chromewebkit 是一個開源項目,包含了來自KDE項目和蘋果公司的一些組件,主要用于Mac OS系統,它的特點在于源碼結構清晰、渲染速度極快。缺點是對網頁代碼的兼容性不高,導致一些編寫不標準的網頁無法正常顯示。主要代表作品有Safari和Google的瀏覽器Chrome。
4、Presto內核代表作品OperaPresto是由Opera Software開發的瀏覽器排版引擎,供Opera 7.0及以上使用。它取代了舊版Opera 4至6版本使用的Elektra排版引擎,包括加入動態功能,例如網頁或其部分可隨著DOM及Script語法的事件而重新排版。
5、Blink由Google和Opera Software開發的瀏覽器排版引擎,2013年4月發布。
CSS Bug、CSS Hack和Filter
CSS Bug:CSS樣式在各瀏覽器中解析不一致的情況,或者說CSS樣式在瀏覽器中不能正確顯示的問題稱為CSS bug.
CSS Hack:CSS中,Hack是指一種兼容CSS在不同瀏覽器中正確顯示的技巧方法,因為它們都屬于個人對CSS代碼的非官方的修改,或非官方的補丁。有些人更喜歡使用patch(補丁)來描述這種行為。
Filter:表示過濾器的意思,它是一種對特定的瀏覽器或瀏覽器組顯示或隱藏規則或聲明的方法。本質上講,Filter是一種用來過濾不同瀏覽器的Hack類型。
常見CSS解析Bug及hack
圖片間隙:主要解決插入圖片之后在圖片下方多出3像素的問題
雙倍浮向:當Ie6及更低版本瀏覽器在解析浮動元素時,會錯誤地把浮向邊界加倍顯示。
默認高度:在IE6及以下版本中,部分塊元素擁有默認高度。
表單元素行高不一致:單元素行高對齊方式不一致。
按鈕元素默認大小不一:各瀏覽器中按鈕元素大小不一致。
百分比bug:在IE6及以下版本中在解析百分比時,會按四舍五入方式計算從而導致50%加50%大于100%的情況。
鼠標指針bug:cursor屬性的hand屬性值只有IE瀏覽器識別,其它瀏覽器不識別該聲明,cursor屬性的pointer屬性值IE6.0以上版本及其它內核瀏覽器都識別該聲明。
透明屬性:IE低版本瀏覽器只能使用filter設置透明度,IE高版本瀏覽器及其他瀏覽器要用opacity來設置。
(二)過濾器(filter)
1、下劃線過濾器
當在一個屬性前面增加了一個下劃線后,由于符合標準的瀏覽器不能識別帶有下劃線的屬性而忽略了這個聲明,但是在IE6及更低版本瀏覽器中會繼續解析這個規則。
2、!important關鍵字過濾器
它表示所附加的聲明具有最高優先級的意思。但由于IE6及更低版本不能識別它,我們可以利用IE6的這個Bug作為過濾器來兼容IE6和其它標準瀏覽器。
3、*屬性過濾器
當在一個屬性前面增加了*后,該屬性只能被IE7瀏覽器識別,其它瀏覽器混略該屬性的作用。
二、寬高自適應
什么是寬高自適應?
我們的項目需要在多終端上顯示,那么大家就會發現電腦顯示器,手機屏幕,平板等,它們的分辨率都不同。我們不可能為了單一顯示而專門做一套規則,而是需要我們制定地規則能適應各種設備的顯示,這就涉及到寬高能自動適配我們設備的顯示屏分辨率,這就是寬高自適應。
1、寬度自適應
2、元素具備最小高度的自適應
3、高度自適應
http://shenzhen.offcn.com/
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。