一般情况下的浏览器兼容需要考虑 IE6/7/8 三种 IE 版本,当然在 IE9 开始逐步推向市场后,又会有更多的衍生版本。所以我目前只考虑 IE7~9 版本的兼容情况。涉及到的条件注释代码如下:
<!DOCTYPE html> <!--[if lt IE 7 ]><html><![endif]--> <!--[if IE 7 ]><html><![endif]--> <!--[if IE 8 ]><html><![endif]--> <!--[if IE 9 ]><html><![endif]--> <!--[if (gt IE 9)|!(IE)]><!--><html><!--<![endif]-->
使用说明如下:
.test { /* 针对非 ie 浏览器的样式 */ } .ie .test { /* 针对所有 ie 版本的样式 */ } .ie6 .test { /* 针对 ie6 的样式 */ } ... .ie9 .test { /* 针对 ie9 的样式 */ }
之前那篇文章里也有同学提出通过 PHP 判断 UA 参数并动态输出样式表的方法,这个虽然是简洁明了,但和后端代码耦合在一起,总觉得不是一回事。况且实际应用中很多情况下会将页面模板化,做动态输出并不非常适合。
另外,国内各大双核高速安全的壳浏览器还没有经过测试,这个需要再做了解。
原文:http://www.mangguo.org/after-abandoning-css-hacks-browser-compatible-solution/