css常见的浏览器Hack技巧总结

如果你是前端程序员,那么你需要解决浏览器页面或不兼容的问题。浏览器的兼容性问题大部分还集中在兼容IE系列。在这里总结的CSS Hack IE系列,对未来的易访问记录.

IE Hack

IE系列浏览器的hack大略如下:

  • _nowamagic:1px;-----------ie6
  • *nowamagic:1px;-----------ie7
  • nowamagic:1px\0;----------ie89
  • nowamagic:1px\9\0;--------ie9
  • :root nowamagic:1px; ----ie9(实际情况可能ie9还是有问题,再用这种方式)

这样就基本上就可以兼容所有IE。(图片不清晰,点击放大看)

其中粉红色部分为属性hack,黄色部分为选择器hack,它们可以结合使用。此外伤感的句子Firefox和Chrome也有它们专有的hack,详细hack方式及使用示例如下:

Firefox 与 Chrome 的 Hack

Firefox:

  1. @-moz-document url-prefix()    /*写在选择器外层时(只可写在此处):Firefox only*/

Chrome:

  1. @media screen and (-webkit-min-device-pixel-ratio:0)  {  /*写在选择器外层时(只可写在此处):Chrome only*/}

使用示例:

  1. @-moz-document url-prefix()    /*Firefox*/
  2. {
  3. body
  4. {
  5. }
  6. }

浏览器对css的解析是从前到后的,并且采用最后一个样式声明。

CSS 实例

  1. background: red;       /* 对FF Opera和Safari有效 */
  2. #background: blue;      /* 对 IE6 和 IE7有效 */
  3. _background: green;      /* 只对IE6有效 */
  4. /*/background: orange;*/      /** 只对IE8有效 **/
  5. !important         /*FF、IE7有效*/
  6. *         /*IE都有效*/

IE8是可以和IE7兼容的,简单一行代码,让淘宝开店IE8自动调用IE7的渲染模式。只需要在页面中加入如下HTTP meta-tag:,只要IE8读到这个标签,它就会自动启动IE7兼容模式,保证页面完整展示。

混用起来大约是这样:

  1. :root .demo {
  2. background:#963\9; /* 仅IE9适用 */
  3. }
  4. .demo {
  5. width: 300px;
  6. height: 200px;
  7. background: #036; /* 所有浏览器都适用 */
  8. background: #09F\9; /* IE6~IE9 */
  9. background: #09F\0; /* IE8~IE9 */
  10. background: #09F\0/; /* IE8 */
  11. *background: #F60; /* IE6/IE7 */
  12. +background: #F60; /* IE6/IE7 */
  13. @background: #F60; /* IE6/IE7 */
  14. >background: #F60; /* IE6/IE7 */
  15. _background: #ccc; /* IE6 */
  16. }
  17. @media all and (min-width:0) {
  18. .demo {
  19. background: #F06; /* webkit and opera */
  20. }
  21. }
  22. @media screen and (-webkit-min-device-pixel-ratio:0){
  23. .demo {background:#609;}/*webkit (& Opera9.2)*/
  24. }
时间: 2024-10-14 16:38:54

css常见的浏览器Hack技巧总结的相关文章

常见的浏览器Hack技巧总结

如果你经常需要做前端页面,那么你一定多多少少需要解决页面的浏览器兼容问题.而浏览器兼容问题大部分也集中在对IE系列的兼容.这里就总结一下对IE系列的CSS Hack,记录一下,方便以后查阅. IE Hack IE系列浏览器的hack大略如下: _nowamagic:1px;-----------ie6 *nowamagic:1px;-----------ie7 nowamagic:1px\0;----------ie89 nowamagic:1px\9\0;--------ie9 :root n

CSS对各个浏览器兼容技巧---HACK技巧

*   ie6和ie7都可以识别_   只有ie6可以识别\0  只有ie8可以识别:root 只有ie9可以识别 关于CSS对各个浏览器兼容已经是老生常谈的问题了, 网络上的教程遍地都是.以下内容没有太多新颖, 纯属个人总结, 希望能对初学者有一定的帮助. 一.CSS HACK HACK概念: 不同的浏览器,比如Internet Explorer 6,Internet Explorer 7,Mozilla Firefox等,对CSS的解析认识不一样,因此会导致生成的页面效果不一样,得不到我们所

CSS Hack技术介绍及常用的Hack技巧集锦

一.什么是CSS Hack? 不同的浏览器对CSS的解析结果是不同的,因此会导致相同的CSS输出的页面效果不同,这就需要CSS Hack来解决浏览器局部的兼容性问题.而这个针对不同的浏览器写不同的CSS 代码的过程,就叫CSS Hack. CSS Hack常见的有三种形式:CSS属性Hack.CSS选择符Hack以及IE条件注释Hack, Hack主要针对IE浏览器. 1.属性级Hack:比如IE6能识别下划线"_"和星号" * ",IE7能识别星号" *

加特殊符号星号斜杠反斜杠/* \ */ !important等让css实现兼容各个浏览器的技巧的代码

在编写css样式表的时候常常会碰到一写浏览器兼容的问题,象是不同内核的浏览器显示就不一定相同,不同版本的的浏览器也会产生上下兼容的问题,如何解决这些问题成了我们苦恼的问题,如果你对css hack技术很了解的话,那这就是太简单不过了,不过对于那些不怎么解的人来说可真成了他们所苦恼的事.在这就从 赵磊官方博客 引来一篇文章来介绍兼容各个浏览器的技巧.但是你也不要认为只要是浏览器显示出现差错就事浏览器的问题,也很可能是你的结构不好,建议你好好去学习一下语义结构,毕竟盖房子要先搭钢筋的. 1,盒解释器

CSS Hack技术介绍及常用的Hack技巧

一.什么是CSS Hack? 不同的浏览器对CSS的解析结果是不同的,因此会导致相同的CSS输出的页面效果不同,这就需要CSS Hack来解决浏览器局部的兼容性问题.而这个针对不同的浏览器写不同的CSS 代码的过程,就叫CSS Hack. CSS Hack常见的有三种形式 CSS属性Hack.CSS选择符Hack以及IE条件注释Hack (Hack主要针对IE浏览器) 1.属性级Hack:比如IE6能识别下划线"_"和星号" * ",IE7能识别星号" *

IE6常见CSS解析Bug及hack

IE6常见CSS解析Bug及hack ###### 1)图片间隙 描述:在div,dl,li中插入图片时,图片会将盒子下方撑大3px~5px(设置高度后依旧被撑大) ??? hack1:将</div>与<img/>写在一行上(针对div): ??? hack2:将<img/>转为块状元素,添加声明:display:block;(都有效) ??? hack3:给父元素添加:font-size:0,需要给子元素单独添加font-size;(都有效) ??? hack4:给父

CSS兼容各浏览器的hack

CSS兼容各浏览器的hack:建议:尽可能的手写代码,可以有效的提高学习效率和深度.浏览器的种类多,麻烦自然也多,主要是各种浏览器对某些属性的渲染效果并不相同,所以有时候需要专门针对特定浏览器或者特定版本书写CSS代码,这样就需要用到所谓的“CSS Hack”,下面以一段实例的形式介绍一下个浏览器hack. <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content

CSS hack技巧大全

CSS hack技巧大全[转]:http://www.duitang.com/static/csshack.html 常用CSS书写技巧和CSS HACK技巧[转]:http://www.cnblogs.com/pittzh/archive/2009/07/23/1529769.html

常见的浏览器兼容性问题大汇总

常见的浏览器兼容性问题大汇总 1 ie6.0横向margin加倍 产生因素:块属性.float.有横向margin. 解决方法:display:inline: 2 ie6.0下默认有行高 解决方法:overflow:hidden;或font-size:0;或line-height:xx px: 3 在各个浏览器下img有空隙(原因是:回车.) 解决方法:让图片浮动. 4 一个父标签与几个子标签嵌套,父标签不浮动,子标签float,子标签不撑开父的高度. 解决方法:a 在子标签最后清浮动{<div