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 技术还是少用好
当IE或其它标准浏览器中呈现不一致时,"堂主"的解决思路:
- 避免导致这个问题的情景
- 插入额外的标记
- 使用条件注释判断语句
- 使用CSS hacks
欢迎补充!