易截截图软件、单文件、免安装、纯绿色、仅160KB

IE6/IE7/FF的CSS hack 浏览器兼容总结

IE6/IE7/FF的CSS hack 浏览器兼容总结
2010-01-23 15:25
由于不同的浏览器对CSS的支持及解析结果不一样,处理的优先级不一样。针对不同的浏览器来写不同的CSS达到在不同浏览器下显示想要的效果就是css hack。先贴两个直观的对比图:
再贴一段代码:
#bgcolor {
background:red !important; /* Firefox 等其他浏览器 */
background:blue; /* IE6 */
}
*+html #bgcolor {
background:green !important; /* IE7 */
}
IE6 不认 !important, 也不认 *+html. 所以 IE6 只能是 blue.
IE7 认 !important, 也认 *+html, 优先度: (*+html + !important) > !important > +html. IE7 可以是 red, blue 和 green, 但 green 的优先度最高.
Firefox 和其他浏览器都认 !important. !important 优先, Firefox 可以是 red 和 blue, 但 red 优先度高。
下面以一个实际需求进行不同写法的实现:
针对下面的html代码:
<body> 
    <div><span>Text</span></div> 
</body>
  写CSS代码,分别在IE6、IE7、FF下显示不同的效果:
  简单说明一下:IE6的划线是在下边、IE7是中间、FF是上边。因为IE6兼容性最差(同时下划线_只有ie6支持),IE7标准居中,FF标准最高。
  第一种方法:
div{ 
    text-decoration:overline; 
    *text-decoration:line-through; 
    _text-decoration:underline; 
}
  原理是:
  简单地说,就是利用下面几点:
  1.各个浏览器解析CSS的语法不尽相同
  2.CSS语法规则:后面的属性覆盖前面的属性
  而这里仅仅是利用了_(IE6的专属)和*(用于IE6和IE7),接下来利用一下!important语法。
  第二种方法:
  !important语法针对的是“后面的属性覆盖前面的属性”这一语法,也就是说标识了!important的属性,是不被后面的相同属性所覆盖的,而IE6不认识这个,导致其他浏览器很容易根据这点“欺负”IE6:
div{ 
    text-decoration:overline; 
    *text-decoration:line-through!important; 
    *text-decoration:underline; 
}
  原理:
  1.FF不认识*,但IE6/IE7认识
  2.IE6不认识!imprtant,但IE7认识
  注意,顺序不能换,如果改为下面这样:
text-decoration:overline; 
*text-decoration:underline; 
*text-decoration:line-through !important;


相关文档:

jQuery使用手册之CSS操作

Jquery对css的操作相当方便,能很方便我们去通过js修改css。传统javascript对css的操作相当繁琐,比如
<div id="a" style="background:blue">css</div>
取它的background语法是:
document.getElementById("a").style.background
而jQuery对css更方便的操作:
$("#a").background();$("#a").background ......

关于表单按钮的css样式大全

按钮样式*/
.ButtonCss {}{
    font-family: "Tahoma", "宋体";
    font-size:9pt; color: #003399;
    border: 1px #003399 solid;
    color:006699;
    BORDER-BOTTOM: #93bee2 1px solid;
    BORDER-LEFT: #9 ......

css导航菜单(包含横向子菜单)

强烈推荐一款CSS导航菜单,用到政府学校类网站上超级不错。
有点类似站长网菜单的味道,只不过颜色不一样而已,这种菜单还不是真正意义上的“下拉”菜单,应该叫滑出菜单<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transition ......

Zen Coding: 一种快速编写HTML/CSS代码的方法


Zen Coding: 一种快速编写HTML/CSS代码的方法
来源:http://www.javaeye.com/news/13149
译自:Smashing Magazine
中文:Zen Coding: 一种快速编写HTML/CSS代码的方法
在本文中我们将展示一种新的使用仿CSS选择器的语法来快速开发HTML和CSS的方法。它由Sergey Chikuyonok开发。
你在写HTML代码(包括所有标签、属性、 ......

什么是CSS HACK,HACK的处理方式


       由于不同的浏览器,比如Internet Explorer 6,Internet Explorer 7,Mozilla Firefox等,对CSS的解析认识不一样,因此会导致生成的页面效果不一样,得不到我们所需要的页面效果。
  这个时候我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不同的浏览器,能在不同的浏 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号