css hack

1、IE6、IE7、Firefox之间的兼容写法:

写法一:

IE都能识别*;标准浏览器(如FF)不能识别*;

IE6能识别*,但不能识别!important,

IE7能识别*,也能识别!important;

FF不能识别*,但能识别!important;

根据上述表达,同一类/ID下的CSShack可写为:

.searchInput {

background-color:#333;/*三者皆可*/

*background-color:#666!important; /*仅IE7*/

*background-color:#999; /*仅IE6及IE6以下*/

}

一般三者的书写顺序为:FF、IE7、IE6.

写法二:

IE6可识别“_”,而IE7及FF皆不能识别,所以当只针对IE6与IE7及FF之间的区别时,可这样书写:

.searchInput {

background-color:#333;/*通用*/

_background-color:#666;/*仅IE6可识别*/

}

写法三:

*+html与*html是IE特有的标签, Firefox暂不支持。

.searchInput {background-color:#333;}

*html .searchInput {background-color:#666;}/*仅IE6*/

*+html .searchInput {background-color:#555;}/*仅IE7*/

屏蔽IE浏览器:

select是选择符,根据情况更换。第二句是MAC上safari浏览器独有的。

*:lang(zh) select {font:12px !important;} /*FF的专用*/

select:empty {font:12px !important;} /*safari可见*/

IE6可识别:

这里主要是通过CSS注释分开一个属性与值,注释在冒号前。

select { display /*IE6不识别*/:none;}

IE的if条件hack写法:

所有的IE可识别:

Only IE

只有IE5.0可以识别:

Only IE 5.0

IE5.0包换IE5.5都可以识别:

Only IE 5.0+

仅IE6可识别:

Only IE 6-

IE6以及IE6以下的IE5.x都可识别:

Only IE 6/+

仅IE7可识别:

Only IE 7/-

浏览器透明度的兼容问题:

.opacity{

opacity:0.5;

filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);  /* 解决 IE6~IE8 出现的兼容问题 */

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况。基于此,某些情况我们会极不情愿的...
    大女表哥阅读 1,132评论 0 9
  • 关于CSS对各个浏览器兼容已经是老生常谈的问题了, 网络上的教程遍地都是.以下内容没有太多新颖, 纯属个人总结, ...
    xxiao1988阅读 1,955评论 0 1
  • 1、什么是CSS hack? CSS hack是通过在CSS样式中加入一些特殊的符号,让不同的浏览器识别不同的符号...
    才気莮孒阅读 353评论 0 1
  • 1、什么是CSS hack? CSS hack是通过在CSS样式中加入一些特殊的符号,让不同的浏览器识别不同的符号...
    aymincoder阅读 423评论 0 1
  • 常规 margin-bottom:40px; /*ff的属性*/ margin-bottom:140px\9; /...
    奇特思维家阅读 932评论 0 0