一、hack
写法:
.demo {margin-left:
30px; _margin-left:
20px; }
优点:
1、内嵌在CSS中,编写的时候很方便
2、内嵌在CSS中,不会产生更多的HTTP请求
缺点:
1、没有统一在一个模块中,后期维护和修改麻烦
2、即使这种写法不起作用的浏览器,也会将代码加载进去,浪费资源
二、CSS条件注释
写法:
<!--[if IE 6 ]>
<link rel="stylesheet" type="text/css" media="all" href="./ie6.css" />
<![endif]-->
优点:
1、代码独立出来,有利于后期维护
2、对于代码不起作用的浏览器来说,这段代码只是普通的注释,他们加载的时候不会将其内容加载进去,节省资源
缺点:
1、新增了HTTP请求,对于老版本的IE浏览器来说,无疑增加了压力。
三、HTML标签条件注释
<!DOCTYPE
html><!--[if IE 6 ]> <html class="ie6 lte_ie6 lte_ie7 lte_ie8" lang="zh-CN"> <![endif]--><!--[if lte IE 6 ]> <html class="lte_ie6 lte_ie7 lte_ie8" lang="zh-CN"> <![endif]--><!--[if lte IE 7 ]> <html class="lte_ie7 lte_ie8" lang="zh-CN"> <![endif]--><!--[if lte IE 8 ]> <html class="lte_ie8" lang="zh-CN"> <![endif]--><!--[if (gte IE 9)|!(IE)]><!--><html
lang="zh-CN"><!--<![endif]-->.ie6
.demo {margin-left:
20px; }这种方法可以将代码独立出一个模块,也不会新增加HTTP请求,目前被使用较多。
本文介绍了三种CSS兼容性处理的方法:hack写法、CSS条件注释及HTML标签条件注释,对比了它们各自的优缺点,并重点推荐了一种既方便后期维护又不增加额外HTTP请求的方法。
253

被折叠的 条评论
为什么被折叠?



