【原】CSS hack整理(更新于20141109)

浏览器的兼容性一直是个头疼的问题,使用“欺骗”技术可使各个浏览器效果一致,花了些时间整理了各个浏览器的HACK,主要包括IE系列和最新版本的Chrome、Safari、Firefox、 Opera,比较全面的记录下Hack,内容包括3部分:媒体查询 hack、属性Hack、选择器Hack,这些Hack已经测试并得到有效运用,有需要的同学可以放心使用,笔者会在以后不断的更新,如果有需要补充或者修改的,欢迎大家指教!

以下代码之间的空格是必要的,缺少空格导致失效

/*---------------------------------媒体查询hack [[---------------------------------*/

/* 只支持IE6、7 */

@media screen\9 {...}

 

/* 只支持IE8 */

@media \0screen {...}

 

/* 只支持IE6、7、8 */

@media \0screen\,screen\9 {...}

 

/* 只支持IE8、9、10 */

@media screen\0 {...} 

 

/* 只支持IE9、10 */

@media screen and (min-width:0\0) {...} 

 

/* 只支持IE10 */

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {...} 

 

/* 支持IE9、Chrome、Safari、Firefox、 Opera */

 

@media all and (min-width:0){...} 

 

/* 只支持wekit内核浏览器Chrome、Safari */

@media screen and (-webkit-min-device-pixel-ratio: 0) {...}

 

/* 只支持Opera */

@media all and (-webkit-min-device-pixel-ratio: 10000), not all and (-webkit-min-device-pixel-ratio: 0) {...} 

 

 /* 只支持Firefox */

@-moz-document url-prefix() {...}

 如:

<p class="class">@hack@hack@hack@hack@hack@hack</p>

<style type="text/css">

@media all and (min-width:0){ /* 在IE9文本颜色为红色*/

 .class{color:#F00;}

} 

@media screen and (-webkit-min-device-pixel-ratio: 0) { /* 在Chrome、Safari中文本颜色为绿色 */

 .class{color:#0F0;}

}

@media all and (-webkit-min-device-pixel-ratio: 10000), not all and (-webkit-min-device-pixel-ratio: 0) { /* 在Opera中文本颜色为蓝色 */

 .class{color:#00F;}

}

@-moz-document url-prefix() { /* 在Firefox中文本颜色为品红色 */

 .class{color:#F0F;}

} 

</style>

/*---------------------------------媒体查询hack ]]---------------------------------*/

 

/*---------------------------------选择器hack [[---------------------------------*/

/* 只支持IE7 */

html* 选择器{} 

 

/* 仅支持IE7  使用该选择器需要HTML顶部有声明:<!DOCTYPE HTML ......>*/

*+html  选择器{}

 

/* 只支持IE6 */

*html  选择器{}

如:

<p class="class">选择器hack选择器hack选择器hack选择器hack选择器hack选择器hack</p>

html* .class{color:#F00;} /* 在IE7中文本颜色为红色 */

*+html .class{color:#0F0;} /* 在IE7中文本颜色为绿色 */

*html .class{color:#00F;} /* 在IE6中文本颜色为蓝色 */

 /*---------------------------------选择器 hack ]]---------------------------------*/

 

 

/*---------------------------------属性hack [[---------------------------------*/

/* 只支持IE6、7、8、9、10 */

选择器{属性:属性值\9;}

 

/* 支持IE8、9、10 */

选择器{属性:属性值\0;}

 

/* 支持IE8的部分属性值、完全支持IE9、10 */

选择器{属性:属性值\9\0;}

 

/* 仅支持IE7和IE6 */

选择器{*属性:属性值;}

 

/* 只支持IE6 */

选择器{_属性:属性值;}

 

/* 只不支持IE6 */

选择器{属性:属性值!important;}

 

/* 仅支持Safari和Chrome ,且只能放在选择器的最后一个属性,因为当浏览器解析[;;]后,不会再读取后面属性 */

选择器{[;属性:属性值;]}

如:

<p class="class">属性hack属性hack属性hack属性hack属性hack属性hack</p>

<style type="text/css">

.class{

color:#F00\0;/* 在IE8和IE9中文本颜色为红色 */

*color:#0F0; /* 在IE7中文本颜色为绿色 */

_color:#00F; /* IE6中颜色为蓝色 */

[;color:#F0F;]/* 在Safari和Chrome中颜色为品红色 */

}

</style>

/*---------------------------------属性hack ]]---------------------------------*/ 

 

 建议是:尽量写出无hack的结构和样式,做到可以向后兼容,减少多余代码,更加可以体现自己专业化的态度。

作者:白树

出处:http://peunzhang.cnblogs.com/

时间: 2024-10-31 06:20:17

【原】CSS hack整理(更新于20141109)的相关文章

CSS Hack整理

CSS Hack整理-CSS教程 CSS Hack是在标准CSS没办法兼容各浏览器显示效果时才会用上的补救方法,在各浏览器厂商解析CSS没有达成一致前,我们只能用这样的方法来完成这样的任务. 我进行前端开发的时候,测试用的浏览器大致有: IE7, IE6, Opera9(文章撰写时版本为9.25 8825), Safari3(文章撰写时版本为3.0.4 523.15), Firefox2(文章撰写时版本为2.0.0.11).     在正常的 selector { property:value;

CSS Hack整理汇总

区别IE6与FF: background:orange;*background:blue; 区别IE6与IE7: background:green !important;background:blue; 区别IE7与FF: background:orange; *background:green; 区别FF,IE7,IE6: background:orange;*background:green !important;*background:blue; 注: IE都能识别*;标准浏览器(如FF)

CSS Hack大全-教你如何区分出IE6-IE10、FireFox、Chrome、Opera_经验交流

现在的浏览器IE6-IE10.Firefox.Chrome.Opera.Safari...数量众多,可谓百家争鸣,对用户来说有了很多的可选择型,不过这可就苦了Web前端开发人员了.今天把一些常用的CSS Hack整理了一下,包括常用的IE hack以及火狐.Chrome.Opera浏览器的Hack,并把这些CSS Hack综合的一起,写了一个小的浏览器测试器.如图所示: 下面就来看一下代码吧: html部分: 复制代码 代码如下: <div class="content">

【原】webapp开发中兼容Android4.0以下版本的css hack

话说现在的手机型号越来越多,主要还是android和ios这2个巨头称霸了江湖,而他们自带的浏览器内核是webkit,那对于做移动网页开发的同事来说,一般只要做好webkit内核浏览器的展现效果就行了,看起来很简单,其实背后还有一个大坑等着你. 虽说是webkit内核,但页面的展现效果还会受到自身系统的影响,升级后的系统打了补丁,新增了新的属性,支持更多丰富炫丽的效果,那么旧的系统(未升级的)就不支持一些新的属性,开发哥哥就是没有做好低端版本兼容的话,就会产生所谓的bug的,再加上android

Div+CSS规则整理

一.           善用css缩写规则     /*注意上.右.下.左的书写顺序*/ 1.      关于边距(4边): 1px 2px 3px 4px (上.右.下.左) 1px 2px 3px    (省略的左等于右) 1px 2px         (省略的上等于下) 1px            (四边都相同)   2.      简化所有: */ body{margin:0}------------表示网页内所有元素的margin为0 #menu{ margin:0}------

实例解析一款针对IE6的CSS hack用法

本文通过实例向大家描述一下IE6的CSS hack用法,我们以一个LOGO为实例,讲解了针对IE6,应用CSS HACK设置有别于IE7和FF的效果.具体内容请看本文详细介绍,相信本文介绍一定会让你有所收获. 一款针对IE6的CSS hack用法实例 CSS网页布局的兼容性问题一直困扰着大家,其实在51cto.com以前的文章中也有着丰富的CSS HACK与CSS兼容性的文章,只是有些文章可能讲的比较抽象而没有实例化,不便于大家的理解. 现在要讲解的是一个关于IE6的CSS HACK的用法.我们

探究针对GoogleChrome的CSS hack写法

本节和大家一起学习一下针对GoogleChrome谷歌浏览器的CSS hack的使用,CSS hack是因为现有浏览器对标准的解析不同,为了兼容各浏览器,所采用的一种补救方法:也有人说CSS hack是一种类似作弊的手段,以欺骗浏览器的方式达到兼容的目的,是用浏览器的兼容性差异来解决浏览器的兼容性问题. CSS hack简介 CSS hack是因为现有浏览器对标准的解析不同,为了兼容各浏览器,所采用的一种补救方法. CSS hack是一种类似作弊的手段,以欺骗浏览器的方式达到兼容的目的,是用浏览

css hack:通用的css hack

文章简介:css hack . .all-IE{property:value\9;} :root .IE-9{property:value\0/;} .gte-IE-8{property:value\0;} .lte-IE-7{*property:value;} .IE-7{+property:value;} .IE-6{_property:value;} .not-IE{property//:value;} @-moz-document url-prefix() { .firefox{prop

CSS技巧:关于CSS Hack与float闭合(清除浮动)

核心提示:CSS技巧:关于CSS Hack与float闭合 一.CSS HACK 以下两种方法几乎能解决现今所有HACK. 1, !important 随着IE7对!important的支持, !important 方法现在只针对IE6的HACK.(注意写法.记得该声明位置需要提前.) 2, IE6/IE77对FireFox *+html 与 *html 是IE特有的标签, firefox 暂不支持.而*+html 又为 IE7特有标签. <style>#wrapper{#wrapper {