1. ::before或::after改成:before及:after
2. overflow: hidden是個(gè)好習(xí)慣
3. translate()調(diào)對(duì)齊相關(guān)時(shí)俏扩,改用margin-left: -?px蒿囤,margin-top: -?px
ps: 有時(shí)候做動(dòng)畫(huà),元素的終點(diǎn)位置是translate()調(diào)的會(huì)導(dǎo)致ie9顯示錯(cuò)位(ie9不支持transform),這個(gè)時(shí)候就可以用margin來(lái)做動(dòng)畫(huà)解決這個(gè)問(wèn)題。
4. border-radius: 用圖片吧
5. 眾所周知:不要用flex,既然都要兼容ie8了...
6. 使ie8支持html5的標(biāo)簽
<script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
7. 使ie8支持媒體查詢(xún)
<script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
以上兩項(xiàng)可以放在一起蔓同,并帶上hack寫(xiě)法:
<!--[if lt IE 9]>
<script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
<script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
8. forEach不兼容ie8,可以用jquery的$.each()也可以直接用for蹲诀。
ps: 其實(shí)有更好的方法斑粱,寫(xiě)段js來(lái)兼容,如下:
Array.prototype.forEach = Array.prototype.forEach || function(callback){
for(var i = 0;i < this.length;i ++){
callback(this[i], i, this);
}
};
9. 牢記脯爪,在寫(xiě)完opacity屬性時(shí):
filter: alpha(opacity=?); /* 取值0-100 */
ps: 不過(guò)也要靈活使用则北,像一些hover把opacity變1的動(dòng)畫(huà),ie8本來(lái)就不支持transition痕慢,所以hover狀態(tài)就不用寫(xiě)filter屬性了(讓ie8什么事也不做)尚揣,只在初始狀態(tài)寫(xiě)即可。