自己写过的几个项目中都用到了兼容ie8,现在有时间就整理下也有利于加深自己的印象,具体如下
1、补全<!DOCTYPE html>
2、设置元标签
<meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" />
3、less转css
4、jquery版本
jquery2.0及以上都不兼容ie8,可以换成1.10.2及以下版本
5、引入文件
引入html5shiv.js,兼容h5新特性
引入css3-mediaqueries.js 兼容媒体查询
6、iframe高度
ie8不支持iframe的高为百分比的写法,要么设置line-height,要么直接如下
iframe {
width: 100%;
height:100%;
display:block;
position:absolute;
}
7、Flex 布局 虽然好用但是坑就坑在IE10以上才能用,所以直接换掉吧
8、CSS3 CSS3的新属性和新选择器ie8是不支持的(特别是常用的nth-child(n) last-child),一样直接换掉。 注意first-child是css2的内容
9、CSS hack
像修改少量的样式时我会用css值添加后缀
像修改批量的样式我会直接头部引入Hack
10、原生js查找元素
parent.getElementsByTagName("tag"); 不兼容ie8
document.getElementsByName("name");不兼容ie8
11、透明度
opacity: 0;ie8不兼容
filter: alpha(opacity=0); ie8兼容
12、渐变 ie8也是不支持的最好不用,或者让ui设计图吧
13、ajax传参到controller
ie8中是不能通过get方法传递中文参数到controller的 要么改为post 要么转码
14、max-width(min-width)
ie8中要想使用max-width需要对直接父元素设定具体宽度才可以
以上就是我所遇到的,要是有其他的可以补充。