記錄一下逼瘋我的IE8相容性調整
IE8不相容的東西一籮筐:
css3的calc()、rgba()...
IE8能用的東西:
css3的box-sizing、min-**、max-**
1、不相容calc():
改佈局吧小夥伴!
2、不相容rgba():
使用了:
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4c000000,endColorstr=#4c000000);
其中#後面兩位是透明度:
3、不相容box-shadow:
使用:
/*Internet Explorer*/
background:#fff;
/*Internet Explorer 8 */
-ms-filter:"progid:DXImageTransform.Microsoft.Shadow(color=#CCCCCC,direction=0,strength=6)
progid:DXImageTransform.Microsoft.Shadow(color=#CCCCCC,direction=90,strength=6)
progid:DXImageTransform.Microsoft.Shadow(color=#CCCCCC,direction=180,strength=6)
progid:DXImageTransform.Microsoft.Shadow(color=#CCCCCC,direction=270,strength=6)";
/*低於Internet Explorer 版本8*/
*filter: progid:DXImageTransform.Microsoft.Shadow(color=#CCCCCC, direction=0, strength=6)
progid:DXImageTransform.Microsoft.Shadow(color=#CCCCCC, direction=90, strength=6)
progid:DXImageTransform.Microsoft.Shadow(color=#CCCCCC direction=180, strength=6)
progid:DXImageTransform.Microsoft.Shadow(color=#CCCCCC, direction=270, strength=6);
/*標準瀏覽器*/
box-shadow:0px0px6px#CCC;
Shadow濾鏡必須配合background屬性一起使用,否則該濾鏡失效
在IE8中,-ms-filter是filter的別名,兩者區別是-ms-filter的屬相值必須被單引號或雙引號包圍,而filter中則不是必須,而在IE8之前的版本中,filter的屬性值必須不被單引號或雙引號包圍。
Shadow濾鏡的基本語法:
filter:Shadow(Color=color,Direction=direction,strength=strength)
color代表投影的底色,該數值是用英文字母來代替的, 例如投影底色是藍色的話,就應該設定color=blue。
direction引數是用來設定投影方向的,如果該數值是0的話,就代表垂直投影,此外該數值45度為單位,它的預設值是向左的270度。
strength設定或檢索以物件為基準的在運動方向上的向外擴散距離。
box-shadow的基本語法:
box-shadow:<length><length><length>||<color>
box-shadow:X軸位移 Y軸位移 陰影大小 陰影顏色
在低於Firefox4、Chrome10的瀏覽器中實現陰影效果需要新增:
-moz-box-shadow: 0px 0px 6px #CCC;
-webkit-box-shadow: 0px 0px6px #CCC;
4、不相容placeholder
使用js外掛:jquery.placeholder.js
https://github.com/mathiasbynens/jquery-placeholder
5、不相容html5標籤和css3的一些屬性
使用js外掛如下——
(1)html5shiv.js、html5media.js
(2)respond.js
(3)modernizr(一款相容css3、html5等元素的外掛)
6、本地視訊不能播放:
在此路徑:C:\Windows\SysWOW64\Macromed\Flash\flashPlayerTrust
之下新增 trustpath.txt 檔案,內容如下:
c:\
d:\
e:\
(有幾個盤就寫幾個即可)
7、不相容text-overflow
首先平時用的時候要配合使用
複製程式碼程式碼如下:
overflow: hidden;
white-space: nowrap;
這兩個屬性讓起溢位隱藏和不換行,然後IE8用的時候記得不要加
複製程式碼程式碼如下:
word-berak:break-all;
word-wrap:break-word;
這樣斷開了,在IE8裡面是不會變成省略號的(但是在IE6/7/FF/Chrome都沒有問題),其實都單行省略了,本來也沒有必要斷詞
所以一般標準組合就是:
複製程式碼程式碼如下:
overflow: hidden;
white-space: nowrap;
-o-text-overflow: ellipsis; /* for Opera */
text-overflow: ellipsis; /* for IE */
基本通殺所有瀏覽器了
最後像<a>這類預設非塊的元素,要加上display:block;才有效果,還有別忘了width或者max-width。
8、不相容background-size
filter : progid:DXImageTransform.Microsoft.AlphaImageLoader ( enabled=bEnabled , sizingMethod=sSize , src=sURL )
enabled:可選項。布林值(Boolean)。設定或檢索濾鏡是否啟用。 true:預設值。濾鏡啟用。 false:濾鏡被禁止。
sizingMethod:可選項。字串(String)。設定或檢索濾鏡作用的物件的圖片在物件容器邊界內的顯示方式。 crop:剪下圖片以適應物件尺寸。 image:預設值。增大或減小物件的尺寸邊界以適應圖片的尺寸。 scale:縮放圖片以適應物件的尺寸邊界。
src:必選項。字串(String)。使用絕對或相對 url 地址指定背景影象。假如忽略此引數,濾鏡將不會作用。
9、不相容line-height
line-height:32px;
line-height: 32px\9; /*IE8*/
*line-height: 32px; /* IE7支援 */
_line-height: 32px; /* IE6支援 */
-ms-line-height: 32px;/*IE9+支援*/
-webkit-line-height:32px; /*chrome safair*/
-moz-line-height: 32px;/*火狐*/
10、不相容transform
使用filter的Matrix(矩陣)
11、不相容border-radius
只能使用圖片代替了(整體背景圖或者四個弧角的背景圖)
12、echarts
使用echarts第二版能相容ie8,而第三版會提示更新瀏覽器。
13、視訊播放器
使用的是jplayer外掛
14、使用react作為開發框架時:
https://blog.csdn.net/zjw0742/article/details/52981706
https://github.com/GarveyZuo/React-router-redux-IE8/
(雖然本人很習慣用vue,怎奈何,vue不能相容ie8。。。)
----------------------------------------------續更分割線-------------------------------------------------