chrome opera ie等浏览器hack解决方案

来源:互联网 发布:特百惠淘宝上有授权吗 编辑:程序博客网 时间:2024/05/16 02:01

相信每一个做前端的.做网站开发的都有一个体会.做兼容太纠结了。而且网上一般的hack解决方案都是只针对与IE的,诚然,IE是一个很大的使用人群, 一般做兼容都是以火狐做为标准 ,但也不代表其他的浏览器都兼容的.比如chrome.opera safari等主流的浏览器之间也有不兼容,当遇到这些情况怎么办呢?

今天在看css帮助文档的时候无意之间看到解决这几款浏览器的方法,马上记录下来,为了自己以后做准备,也为大家提供下方便

_:选择IE6及以下。连接线(中划线)(-)亦可使用,为了避免与某些带中划线的属性混淆,所以使用下划线(_)更为合适。
*:选择IE7及以下。诸如:(+)与(#)之类的均可使用,不过业界对(*)的认知度更高
\9:选择IE6+
\0:选择IE8+和Opera
[;property:value;];:选择webkit核心浏览器(Chrome,Safari)。IE7及以下也能识别。中括号内外的3个分号必须保留,第一个分号前可以是任意规则或任意多个规则
[;color:#f00;];[color:#f00;color:#f00;];[margin:0;padding:0;color:#f00;]; 是等价的。生效的始终是中括号内的最后一条规则,所以通常选用第一种写法最为简洁。

选择不同的浏览器及版本

  • 尽可能减少对CSS Hack的使用。Hack有风险,使用需谨慎
  • 通常如未作特别说明,本文档所有的代码和示例的默认运行环境都为标准模式。
  • 一些CSS Hack由于浏览器存在交叉认识,所以需要通过层层覆盖的方式来实现对不同浏览器进行Hack的。如下面这个例子:
帮助
1
2
3
4
5
6
7
8
.test{
 color:#c30;/* For Firefox */
 [;color:#ddd;];/* For webkit(Chrome and Safari) */
 color:#090\0;/* For Opera */
 color:#00f\9;/* For IE8+ */
 *color:#f00;/* For IE7 */
 _color:#ff0;/* For IE6 */
}

* 上述Hack均需运行在标准模式下,若在怪异模式下运行,这些Hack将会被不同版本的IE相互识别,导致失效。

本文地址:http://www.zhjie.net/chrome-opera-browser-such-as-ie-hack-solution.htm