常見瀏覽器兼容問題

參考文章:css

http://wenku.baidu.com/link?url=jVvQq3_ZXTSxHWhwEhdtK_7-xbjrLUjJmXY4nH8_eNFPG5qugaRdyjjDGYdoRRhiW1MP1cdDt6U97KmPNE3a1LrT6FPPojyqfGxe2eRPK6Whtml

http://www.cnblogs.com/duanhuajian/archive/2012/09/23/2699119.html前端

http://www.68design.net/Web-Guide/HTMLCSS/37154-1.htmlcss3

IE瀏覽器和谷歌瀏覽器設置相同的樣式,可是標籤的位置不一致的時候:瀏覽器

設置  display:inline;height:10px;float:left;ide

瀏覽器兼容問題一:不一樣瀏覽器的標籤默認的外補丁和內補丁不一樣佈局

問題症狀:隨便寫幾個標籤,不加樣式控制的狀況下,各自的margin 和padding差別較大。ui

解決方案:CSS裏    *{margin:0;padding:0;}url

瀏覽器兼容問題二:塊屬性標籤float後,又有橫行的margin狀況下,在IE6顯示margin比設置的大.net

問題症狀:常見症狀是IE6中後面的一塊被頂到下一行

解決方案:在float的標籤樣式控制中加入 display:inline;將其轉化爲行內屬性

備註:咱們最經常使用的就是div+CSS佈局了,而div就是一個典型的塊屬性標籤,橫向佈局的時候咱們一般都是用div float實現的,橫向的間距設置若是用margin實現,這就是一個必然會碰到的兼容性問題。

瀏覽器兼容問題三:設置較小高度標籤(通常小於10px),在IE6,IE7,遨遊中高度超出本身設置高度

問題症狀:IE六、7和遨遊裏這個標籤的高度不受控制,超出本身設置的高度

解決方案:給超出高度的標籤設置overflow:hidden;或者設置行高line-height 小於你設置的高度。

備註:這種狀況通常出如今咱們設置小圓角背景的標籤裏。出現這個問題的緣由是IE8以前的瀏覽器都會給標籤一個最小默認的行高的高度。即便你的標籤是空的,這個標籤的高度仍是會達到默認的行高。

瀏覽器兼容問題四:行內屬性標籤,設置display:block後採用float佈局,又有橫行的margin的狀況,IE6間距bug

問題症狀:IE6裏的間距比超過設置的間距

解決方案:在display:block;後面加入display:inline;display:table;

備註:行內屬性標籤,爲了設置寬高,咱們須要設置display:block;(除了input標籤比較特殊)。在用float佈局並有橫向的margin後,在IE6下,他就具備了塊屬性float後的橫向margin的bug。不過由於它自己就是行內屬性標籤,因此咱們再加上display:inline的話,它的高寬就不可設了。這時候咱們還須要在display:inline後面加入display:talbe。

瀏覽器兼容問題五:圖片默認有間距

問題症狀:幾個img標籤放在一塊兒的時候,有些瀏覽器會有默認的間距,加padding:0px;margin:0px;也不起做用。

解決方案:使用float屬性爲img佈局

備註:由於img標籤是行內屬性標籤,因此只要不超出容器寬度,img標籤都會排在一行裏,可是部分瀏覽器的img標籤之間會有個間距

瀏覽器兼容問題六:標籤最低高度設置min-height不兼容

問題症狀:由於min-height自己就是一個不兼容的CSS屬性,因此設置min-height時不能很好的被各個瀏覽器兼容

解決方案:若是咱們要設置一個標籤的最小高度200px,須要進行的設置爲:{min-height:200px; height:auto !important; height:200px; overflow:visible;}

備註:在B/S系統前端開時,有不少狀況下咱們有這種需求。當內容小於一個值(如300px)時。容器的高度爲300px;當內容高度大於這個值時,容器高度被撐高,而不是出現滾動條。這時候咱們就會面臨這個兼容性問題。

瀏覽器兼容問題七:子標籤撐不開父標籤的高度

問題症狀:一個父標籤與幾個子標籤嵌套,父標籤不浮動,子標籤float,子標籤不撐開父的高度。

解決方案:1. 在子標籤最後清浮動{<div style="height:0;clear:both;">&nbsp;</div>}

              2.  父標籤添加{overflow:hidden;}

              3. 給父標籤設置高度

瀏覽器兼容問題八:li之間有間距

解決方案:li 設置vertical-align:middle;

瀏覽器兼容問題九:opacity 定義元素的不透明度

解決方案:   filter:alpha(opacity=80);/*ie支持該屬性*/

                 opacity:0.8;/*支持css3的瀏覽器*/
相關文章
相關標籤/搜索