ie8的兼容一些小要点

1.jquery

jquery2.0+都不兼容ie8。

2.less

less.js不能在ie8中使用。

3.弹性布局

ie8不支持响应式,可以采用respond.js解决问题。

使用方法:在页面中所有css文件的引用位置之后引用Respond.js。而且Respond.js的引用得越早,用户看到页面闪烁的机会越小。

4.css3

css3的新属性跟新选择器ie8是不支持的。

a.CSS3引入了新的字体大小单位rem,与em的“相对于其父元素来设置字体大小”的功能不同,rem是相对于根元素<html>的字体大小比率单位,成了目前主流的单位之一。IE9+开始支持,IE8就只能通过引入js库来支持了。

使用方法:在页面中引用rem.js文件。需要引用在页脚,也就是<body>末尾,在所有css文件引用和DOM元素之后。

b.“background-size”是CSS3新引入的属性,其中有两个属性值非常常用,分别为“cover”和“contain”。“cover”可以把背景图像扩展至足够大,以使背景图像完全覆盖背景区域,背景图像的某些部分也许无法显示在背景定位区域中。“contain”可以把图像图像扩展至最大尺寸,以使其宽度和高度完全适应内容区域。IE8同样不支持,非常不方便。这时可以引用“background-size polyfill”库来兼容。

使用方法:与以上几个库不同,“background-size polyfill”的代码文件需要在css中引用。在所有用到这两个“background-size”属性值的地方,加一行“-ms-behavior”属性:

.selector { 
    background-size: cover;
    /* 以下相对路径是相对于文档,而非css文件! */
    /* 使用绝对路径可以避免混淆 */
    -ms-behavior: url(/backgroundsize.min.htc);
}

5.html5

ie8不支持html5的新标签,如<header>、<nav>等标签在IE8无法渲染。html5shiv.js可帮助IE6-8浏览器兼容HTML5语义化标签。

使用方法:在页面中引用html5shiv.js文件。必须添加在页面的<head>元素内,因为IE浏览器必须在元素解析前知道这个元素,所以这个js文件不能在页面底部引用。

6.svg

ie8完全不支持,改成图片吧

将所有新的需要给ie单独写的代码写到新文件中,然后通过头部注释引用

<!--[if lte IE 8]>

<![endif]-->

猜你喜欢

转载自blog.csdn.net/qq_41720311/article/details/83900331
今日推荐