CSS HACK

CSS HACK小接触

如何介绍我也无法讲清楚,只能复制了下网上的介绍 :

CSS hack由于不同厂商的浏览器,比如Internet Explorer,Safari,Mozilla Firefox,Chrome等,或者是同一厂商的浏览器的不同版本,如IE6和IE7,对CSS的解析认

识不完全一样,因此会导致生成的页面效果不一样,得不到我们所需要的页面效果。 这个时候我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不同的浏览器,能在不同的浏览器中也能得到我们想要的页面效果。

W3C是一套Web页面开发规范,是由麻省理工学院实验室指定,属于民间规范,并不具备强制性

HACK 就相当于暗号,给每个浏览器不同的暗号,其它浏览器不知道(就好比军训时,教官命令一群人向前走1米,不是每个人都走的刚好1米,所以教官需要特地对走的不是1米的同学发暗号,让它们刚好到达一米, 只可意味不可言传,多理解理解 )
background: red; /*所有浏览器识别*/
background: yello\9; /*所有的IE浏览器*/
background: blue\0; /*IE8 IE9*/
+background: green; /*IE6 IE7*/
_background: orange; /*IE6*/

.eg1 {
        background: green !important;
        background: blue;
}
/*
        IE6下显示蓝色,其他浏览器显示绿色;
        但是这个并不是一个hack,这个只是在IE6下,同一个大括号里
        对同一个演示属性定义,其中一个加important则important标记是被忽略的!!!
*/

------我是优雅的分割线------
.eg2 {
        background: red !important;
}
.eg2 {
        background: green;
}
/*
        所有浏览器都显示红色,因为是在不同大括号中定义
*/

CSS HACK 技术还是少用好

  1. 避免导致这个问题的情景
  1. 插入额外的标记
  1. 使用条件注释判断语句
  1. 使用CSS hacks

欢迎补充!