IE8筆記,慢慢補充上來
解法:不用,改加寫class一個一個做控制
解法:針對IE8加寫CSS
解法:針對IE8寫css
解法:不加,一律class命名用css控制,不得已的狀況看能不能寫js把該屬性拿掉
解法1:加入resbond.js
但這一支需透過伺服器瀏覽才會有效,不然還是會跑版唷
解法2:另外寫IE8版本的CSS只給他讀,後方參考
通常resbond.js用了還是會有一些跑版問題要調整,所以就都用吧!
其實只是因為IE8看不懂<header><footer>這種html5的標籤拉,送他一支resbond.js他就會讀了~
解決:html5shiv.js
通常會要寫到IE8的都是政府網站,政府網站可能用自己的內網,一律不能連到外部網站的,也就是不能用CDN。
跑版可能:html寫法
*不支援:last-child、:nth-child(n)
IE8不支援:last-child和:nth-child(n),但支援:first-child,管他支援什麼,往後要寫到IE8的我寧願多命幾個名,這種寫法我就避免了解法:不用,改加寫class一個一個做控制
*不支援:before、:after
解法:不用,全補改用span代替*不支援:checked
解法:不用,忽略它*跑版檢查:
float時要給寬度,不然會跑版解法:針對IE8加寫CSS
*跑版檢查:
position:fixed的時候width不聽父層的導致跑版解法:針對IE8寫css
*圖片跑不出來:
IE8加上width屬性、或style寫max-width等等,圖片就會出不來解法:不加,一律class命名用css控制,不得已的狀況看能不能寫js把該屬性拿掉
*media query看不懂
max-width{}和mix-width{}內的東西不會被讀到~解法1:加入resbond.js
但這一支需透過伺服器瀏覽才會有效,不然還是會跑版唷
解法2:另外寫IE8版本的CSS只給他讀,後方參考
通常resbond.js用了還是會有一些跑版問題要調整,所以就都用吧!
*html5的標籤
常常遇到就是,網頁一用IE8開,整個頁面CSS都掉了(脫皮),白底背景加上一堆文字擠在一起,慘烈的。其實只是因為IE8看不懂<header><footer>這種html5的標籤拉,送他一支resbond.js他就會讀了~
解決:html5shiv.js
跑版可能:js失靈
*檢查1:不能用CDN
JS是否是外連CDN?改成內連吧!通常會要寫到IE8的都是政府網站,政府網站可能用自己的內網,一律不能連到外部網站的,也就是不能用CDN。
*檢查2:根本是IE8權限沒開
IE8瀏覽起器權限沒有開,要去安全性選項調整權限放寬鬆一點。配合IE8寫法
*只讓IE8讀取,如:
<!--[if lte IE 8]>
<script src="js/html5shiv.js"></script>
<![endif]-->
<script src="js/html5shiv.js"></script>
<![endif]-->
*只讓IE8不讀取,如:
<xml>
<script src="js/layout.js"></script>
</xml>
<script src="js/layout.js"></script>
</xml>
配合IE8css寫法
*可以用hack寫法,跟全部css寫在一起,如:
background:#fff \9;*或是另外寫一支給IE8專用的CSS,如(推這個,比較好維護管理):
<!--[if lte IE 8]>
<link rel="stylesheet" href="css/ie8.css" />
<![endif]-->
<link rel="stylesheet" href="css/ie8.css" />
<![endif]-->
沒有留言:
張貼留言