前端解决浏览器兼容问题合集(2)——html5、css3

上一集主要讲了事件处理的兼容,这集我们来探讨下html5和css3等如何兼容

一、html5

首先梳理下html5的一些新特性:
用于绘画的 canvas 元素
用于媒介回放的 video 和 audio 元素
对本地离线存储的更好的支持
新的特殊内容元素,比如 article、footer、header、nav、section
新的表单控件,比如 calendar、date、time、email、url、search
html5是从ie9开始支持的,那么如何实现html5的兼容呢?
IE9 以下版本浏览器兼容HTML5的方法:

<!--[if lt IE 9]>
  <script src="../js/lib/html5shiv.min.js" type="text/javascript" charset="utf-8"></script>
<![endif]-->

载入后,初始化新标签的CSS:

article,aside,dialog,footer,header,section,nav,figure,menu{display:block}

二、css3

一些最重要CSS3模块如下:
选择器
盒模型
背景和边框
文字特效
2D/3D转换
动画
多列布局
用户界面
兼容css3新特性:
各主流浏览器都定义了私有属性,以便让用户体验 CSS3 的新特性。例如,
Webkit 类型浏览器(如 Safari、Chrome)的私有属性是以-webkit-前缀开始,
Gecko 类型的浏览器(如 Firefox)的私有属性是以-moz-前缀开始,
Konqueror 类型的浏览器的私有属性是以-khtml-前缀开始,
Opera 浏览器的私有属性是以-o-前缀开始,
而 Internet Explorer 浏览器的私有属性是以-ms-前缀开始(目前只有 IE 8+ 支持-ms-前缀)。如下

 -webkit-transform:rotate(-3deg); /*为Chrome/Safari*/ 
 -moz-transform:rotate(-3deg); /*为Firefox*/ 
 -ms-transform:rotate(-3deg); /*为IE*/ 
 -o-transform:rotate(-3deg); /*为Opera*/ 
 transform:rotate(-3deg);

对于加前缀,自己手动去完全就是累死个人呀,大家可以使用Autoprefixer自动化插件实现自动添加前缀
Autoprefixer是一款自动管理浏览器前缀的插件,它可以解析CSS文件并且添加浏览器前缀到CSS内容里,使用Can I Use(caniuse网站)的数据来决定哪些前缀是需要的。
而对于媒体查询的兼容,可以引入respond.min.js,如下

<!--[if lt IE 9]>
 <script src="../js/lib/respond.min.js" type="text/javascript" charset="utf-8"></script>
<![endif]-->

对于文中提到的<!–[if lt IE 9]>,这是一种csshack方式,css hack内容比较多,这里我就偷懒不一一赘述了,有详细的文章介绍,大家可以去学习学习
文章地址:史上最全的CSS hack方式一览

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值