ie低版本兼容html5+媒体查询的工具

  • 让ie9以下浏览器支持html5新增的标签,以及让新增标签的样式展现完全。

    1. 引入html5shiv.js
    2. arcticle,section,footer.header等的新增标签加上属性:display:block;

    注:htmlshiv只针对普通的html5新增标签,对于video和audio标签要用html5media.js

  • 让ie6-8支持媒体查询

  1. 引入respond.js
    注:response中的media query的min-width和max-width语法(仅仅支持min-width和max-width)

【插件原理】
需要理解respond.js的实现思路:
第一步,将head中所有外部引入的CSS文件路径取出来存储到一个数组当中;
第二步,遍历数组,并一个个发送AJAX请求;
第三步,AJAX回调后,分析response中的media query的min-width和max-width语法(注意,仅仅支持min-width和max-width),分析出viewport变化区间对应相应的css块;
第四步,页面初始化时和window.resize时,根据当前viewport使用相应的css块
【核心理论】
由此,就可以根据基本的实现思路,得到一些书写代码时要注意的地方:
1、需要启动本地服务器(localhost),不能使用普通本地的url地址(file://开头);
2、需要外部引入CSS文件,将CSS样式书写在style中是无效的;
3、由于respond插件是查找CSS文件,再进行处理,所以respond文件一定要放置在CSS文件的后面
4、另外,虽然把respond放置在head里还是在body后面都能够实现,但是建议放置在head中(具体原因越早的引入respond.js文件,也就越可能避免IE下出现的闪屏)
5、最好不要为CSS设置utf-8的编码,使用默认(utf-8的字符编码可能对respond.js文件的运行有影响)
6、不支持嵌套的媒体查询

综合:
注意:需在头部使用,确保在文档解析前(加载并运行)


<!--[if lt IE 9]>
<script src="respond.js"></script>//放在css文件的后面
<script src="html5shiv.min.js"></script>
<![endif]-->
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值