一直苦思一个问题:怎么样才能让新的Css3的特性在古老的IE浏览器上正常显示,乍一看有点强人所难,因为国外的许多优秀Html5网站都公开不支持IE浏览器了,然而在国内在很长一段时间无法割舍IE这个捣蛋的体验之毒瘤的。
最近在网上发现两个比较好的框架,至少能解决一部分问题:
1. PIE: http://css3pie.com/
2. IE7/8/9.js: http://code.google.com/p/ie7-js/
PIE是Jason Johnston开发和维护的一套让IE低版本支持Css3里关于样式定义的解决方案,基本原理是用的htc这个IE特殊格式重新定义了样式支持Css3里例如border-radius和text-shadow等特性。
IE-Js是Dean Edward写的一个非常靠谱的Js脚本,全文扫描你的Html文档,对IE低版本不支持的Css3选择器、Html元素、盒模型size等做自动适配,不过带来的性能开销不小,基本是重写了你所有的文档元素,使用需谨慎。
这两个框架是可以完美兼容的,因为它们从完全不同的角度来解决IE兼容Css3的问题,借用一句话来总结它们:
IE7.js gives you all the advanced selectors, and PIE gives you the advanced box decoration rendering