您好,登錄后才能下訂單哦!
本篇內容主要講解“解決瀏覽器兼容性的技巧是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“解決瀏覽器兼容性的技巧是什么”吧!
一、chrome下會讓小于12px的文本字體默認為12px顯示,讓chrome支持小于12px的字體
box{font-size:8px;-webkit-text-size-adjust:none;}
但是,上面這個方法chrome27以后就不能用了。但我們可以用css3解決這個問題
box{font-size:12px;-webkit-transform:scale(0.75);}
二、不同瀏覽器的標簽默認的外補丁和內補丁不同,隨便寫幾個標簽,不加樣式控制的情況下,各自的margin和padding差異較大,碰到頻率:100%
解決方案:
*{margin:0;padding:0;}
備注:這個是最常見的也是最易解決的一個瀏覽器兼容性問題,幾乎所有的css文件開頭都會用通配符來設置各個標簽的內外補丁是0。
三、設置較小高度標簽(一般小于10px),在ie6,ie7,遨游中高度超出自己設置高度
問題癥狀:ie6、7和遨游里這個標簽的高度不受控制,超出自己設置的高度
碰到頻率:60%
解決方案:給超出高度的標簽設置overflow:hidden;或者設置行高line-height小于你設置的高度。
備注:這種情況一般出現在我們設置小圓角背景的標簽里。出現這個問題的原因是ie8之前的瀏覽器都會給標簽一個最小默認的行高的高度。即使你的標簽是空的,這個標簽的高度還是會達到默認的行高。
四、圖片默認有間距
問題癥狀:幾個img標簽放在一起的時候,有些瀏覽器會有默認的間距,加上問題一中提到的通配符也不起作用。
碰到幾率:20%
解決方案:使用float屬性為img布局
備注:因為img標簽是行內屬性標簽,所以只要不超出容器寬度,img標簽都會排在一行里,但是部分瀏覽器的img標簽之間會有個間距。去掉這個間距使用float是正道
五、標簽最低高度設置min-height不兼容
問題癥狀:因為min-height本身就是一個不兼容的css屬性,所以設置min-height時不能很好的被各個瀏覽器兼容
碰到幾率:5%
解決方案:如果我們要設置一個標簽的最小高度200px,需要進行的設置為:
{min-height:200px;height:auto!important;height:200px;overflow:visible;}
備注:在B/S系統前端開時,有很多情況下我們有這種需求。當內容小于一個值(如300px)時。容器的高度為300px;當內容高度大于這個值時,容器高度被撐高,而不是出現滾動條。這時候我們就會面臨這個兼容性問題。
六、const問題
說明:Firefox下,可以使用const關鍵字或var關鍵字來定義常量;
IE下,只能使用var關鍵字來定義常量.
解決方法:統一使用var關鍵字來定義常量.
七.window.location.href問題
說明:IE或者Firefox2.0.x下,可以使用window.location或window.location.href;
Firefox1.5.x下,只能使用window.location.
解決方法:使用window.location來代替window.location.href.
八、ul和ol列表縮進問題
消除ul、ol等列表的縮進時,樣式應寫成:
list-style:none;margin:0px;padding:0px;
經驗證,在IE中,設置margin:0px可以去除列表的上下左右縮進、空白以及列表編號或圓點,設置padding對樣式沒有影響;在Firefox中,設置margin:0px僅僅可以去除上下的空白,設置padding:0px后僅僅可以去掉左右縮進,還必須設置list-style:none才能去除列表編號或圓點。也就是說,在IE中僅僅設置margin:0px即可達到最終效果,而在Firefox中必須同時設置margin:0px、padding:0px以及list-style:none三項才能達到最終效果。
九、IE與寬度和高度的問題
IE不認得min-這個定義,但實際上它把正常的width和height當作有min的情況來使。這樣問題就大了,如果只用寬度和高度,正常的瀏覽器里這兩個值就不會變,如果只用min-width和min-height的話,IE下面根本等于沒有設置寬度和高度。
比如要設置背景圖片,這個寬度是比較重要的。要解決這個問題,可以這樣:
box{width:80px;height:35px;}html>body#box{width:auto;height:auto;min-width:80px;min-height:35px;}
十、頁面的最小寬度
如上一個問題,IE不識別min,要實現最小寬度,可用下面的方法:
container{min-width:600px;width:expression(document.body.clientWidth<600?"600px":"auto");}
第一個min-width是正常的;但第2行的width使用了Javascript,這只有IE才認得,這也會讓你的HTML文檔不太正規。它實際上通過Javascript的判斷來實現最小寬度。
到此,相信大家對“解決瀏覽器兼容性的技巧是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。