`
yiheng
  • 浏览: 150378 次
社区版块
存档分类

全面兼容IE6/IE7/IE8/FF的CSS HACK写法

 
阅读更多

浏览器市场的混乱,给设计师造成很大的麻烦,设计的页面兼容完这个浏览器还得兼容那个浏览器,本来ie6跟ff之间的兼容是很容易解决的。加上个ie7会麻烦点,ie8的出现就更头疼了,原来hack ie7的方法又不能用了,怎么办呢?

第一种方法:

还好,微软提供了这样一个代码:

<meta http-equiv="x-ua-compatible" content="ie=7" />

把这段代码放到<head>里面,在ie8里面的页面解析起来就跟ie7一模一样的了,所以,基本上可以无视ie8,剩下的代码只需要这样写就可以了

background:#ffc; /* 对firefox有效*/
*background:#ccc; /* 对ie7有效 */
_background:#000; /* 只对ie6有效 */

解释一下吧:

firefox能解析第一段,后面的两个因为前面加了特殊符号“*”和“_”,firefox认不了,所以只认background:#ffc,看到的是黄色;

ie7前两短都能认,以最后的为准,所以最后解析是background:#ccc,看到的是灰色;

ie6三段都能认,而且“_”这个只有ie6能认,所以最后解析是_background:#000,看到的是黑色

阿门!已经是最简单和最好理解的写法了,如果你是google进来的,我可以很负责任的告诉你,这种方法是ok的,我测试过。

ie8的那段兼容7的代码我也测试过了,在我现在的windos 7 测试版所带的ie8是没问题的,以后ie8正式版出来还管不管用就不知道了。

ps:如果你发现按我这样写还是有问题的话,请查看一下你的html头,看看<head>之前的内容是不是这样的标准写法

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

这个是现在比较规范的写法,如果你是用dreamweaver做页面的话,默认也是这种规范的,切记,非这种规范写法的,兼容性不能保证

第二种方法:

要求苛刻的朋友是不愿意在页面头部增加<meta http-equiv="x-ua-compatible" content="ie=7" />这样一句代码的,因为这样的结果是每个页面都得加。那么要想兼容这几个浏览器还真得想别的办法了。早些天本站发布了一篇《完美兼容ie6,ie7,ie8以及firefox的css透明滤镜》,可能当时测试的疏忽,IE8的兼容性没有解决好,好多朋友回复说用不了。今天抽出些时间,查阅大量资料,终于解决了这个问题了。

以下是兼容IE6/IE7/IE8/FF的写法,注意下面的顺序不可颠倒

margin-bottom:40px; /*ff的属性*/
margin-bottom:140px\9; /* IE6/7/8的属性 */
color:red\0; /* IE8支持 */
*margin-bottom:450px; /*IE6/7的属性*/

下面以一个实例的形式表现,大家可以运行代码查看一下效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>2010最新全面兼容ie6,ie7,ie8,ff的CSS HACK写法——www.aa25.cn标准之路</title>
<style type="text/css">
#abc {
border:2px solid #00f; /*ff的属性*/
border:2px solid #090\9; /* IE6/7/8的属性 */
border:2px solid #F90\0; /* IE8支持 */
_border:2px solid #f00; /*IE6的属性*/
}
/*上下顺序不可以写错*/
</style>
</head>
<body>
<div id="abc">
<ul>
<li>FF下蓝边</li>
<li>IE6下红边</li>
<li>IE7下绿边</li>
<li>IE8下黄边</li>
<li>转载请注明来源标准之路<a href="http://www.68css.com%22%3ewww.68css.com%3c/a%3E%3C/li>
</ul>
</div>
</body>
</html>

分享到:
评论

相关推荐

    CSS 完美兼容IE6/IE7/FF的通用hack方法

    important 方法现在只针对IE6的HACK.(注意写法.记得该声明位置需要提前.)&lt;style&gt;#wrapper{width: 100px!important; /* IE7+FF */width: 80px; /* IE6 */}&lt;/style&gt; 2, IE6/IE77对FireFox *+html 与 *...

    全面兼容ie6,ie7,ie8,ff的CSS HACK写法

    CSS代码: 复制代码代码如下: &lt;style type=”text/css”&gt; #body { border:2px solid #00f;...复制代码代码如下: ”body”&gt; &lt;ul&gt; &lt;li&gt;FF下蓝边&lt;/li&gt; &lt;li&gt;IE6下红边&lt;/li&gt; &lt;li&gt;IE7下绿边&lt;/li&gt; &lt;li&gt;

    2010全面兼容多浏览器IE6-IE7-IE8-FF的CSS HACK写法

    里面,在ie8里面的页面解析起来就跟ie7一模一样的了,所以,基本上可以无视ie8,剩下的代码只需要这样写就可以了 复制代码代码如下:background:#ffc; /* 对firefox有效*/ *background:#ccc; /* 对ie7有效 */ _...

    针对IE6的一些CSS Hack编写时的注意点小结

    区分出IE6的hack写法1.区别IE6、7与FF/IE8: JavaScript Code复制内容到剪贴板 background:blue;*background:orange; 引用显示效果:IE 6/7:orangeFF/IE8:blue原理:FF/IE8不支持*开头,而IE6/7都支持。 2.区别IE...

    针对主流浏览器的CSS-HACK写法及IE常用条件注释

    本文将为你总结CSS针对各浏览器的兼容HACK(以IE6/IE7/IE8 /FF为主),以及IE特有的条件注释使用方法.

    全面兼容ie6,ie7,ie8,ff的最简单的css写法

    本来ie6跟ff之间的兼容是很容易解决的。加上个ie7会麻烦点,ie8的出现就更头疼了,原来hack ie7的方法又不能用了,怎么办呢?

    IE8 CSS hack

    针对IE8正式版的CSS hack目前可以找到的分为2种: 第一种:”\9″: 基本的写法: 1..test { color/*\**/: blue\9 } 这个IE6、IE7、IE8都能识别;...} /* IE7和IE6能识别,IE8和FF不能识别*/ 4..header {_width:29

    CSS hack 针对IE6,IE7,firefox显示不同效果

    区别不同浏览器的CSS hack写法: 区别IE6与FF: background:orange;*background:blue; 区别IE6与IE7: background:green !important;background:blue; 区别IE7与FF: background:orange; *background:green; ...

    [removed]google 向上向下滚动特效,兼容IE6,7,8,FF

    2010最新全面兼容ie6,ie7,ie8,ff的CSS HACK写法 #google1 { border:none; width:270px; height:20px; margin:0px 0; font-size:12px; padding-left:0px; overflow:hidden; font-family:Arial; } #google1 ul { ...

    解决IE6、IE7、Firefox兼容比较简单的CSS Hack

    第二排给IE7(可能以后的IE8、IE9也是如此,谁知道呢)看 第三排给IE6以及更老的版本看 最好的应用就是可以让IE6也“支持”position:fixed,而且,配合这个原理,可以做到不引入JavaScript代码(仅用IE6的expression...

    不同浏览器的CSS Hack写法小结

    区别IE6与FF: background:orange;*background:blue; 区别IE6与IE7: background:green !important;background:blue;... 区别FF,IE7,IE6: background:orange;*background:green !important;*background:blue;

Global site tag (gtag.js) - Google Analytics