Chrome Firefox IE6 IE7 IE8 Opera Safari CSS HACK

Thursday, July 30, 2009 吉光片羽 0

居然写出了个纯英文的标题……不知道IE8的出现是祸是福。而IE8的升级就像PJBlog的升级一样让人讨厌,虽然先进了,可一些最该丢老毛病还继续携带着。最显而易见的就是透明度,也许IE太个性,所以连最新的IE8也非要使用filter:alpha(opacity=X)的滤镜,而非opacity。个性的还不只这些,一些位置上的BUG问题,简直跟它哥哥姐姐一样神经。很多人说,还有必要为IE8用HACK吗?我的实践经验告诉我,很有必要!

为此,要解决IE8的问题,首先想到的是CSS HACK,现在流传比较多的方法是“\9”。还有人专门测试了一些列数值,从0-13,后面谁有兴趣继续。似乎没有人知道为什么\9会被所有IE(6以上)浏览器识别,有人这样解释:
据说”\9″是会被视为转义字符,在IE中被转义为一个空白字符,而非IE浏览器则不接受此形式。
感觉像那么回事吧。今天,不小心又看到了IE8的CSS HACK,居然发现了一个更新的方法,“\0”,只有IE8可以识别!而后,还发现原来Safari和Chrome也有专门的HACK,所以,就出现了如题的文字,当然,其实Firefox和Opera是没有HACK的,可没有HACK不也算一种HACK嘛,哈哈。有意思,以后就不怕他们耍个性了,呵呵。整理后如下:

#test{
color:#000;    /*FireFox Opera*/
[color:#FC0;   /*Chrome Safari*/
color:#396\0;  /*Internet Explorer 8*/
*color:#F90;   /*Internet Explorer 7*/
_color:#06C;   /*Internet Explorer 6*/
}

有人简写FF、OP、CH、SA,IE就不用说了,为了让人看懂,我全部写全称(有点无聊)……

可事实上,问题还是有的,至少我在用IETester的时候,发现IE8并没有反应。这就又牵扯到前面说的另人讨厌的IE8升级问题了。因为在早期,针对IE8 beta版本的还有一种HACK方式,可IE8一升级就葛屁了,所以,不知道目前IETester的IE8是哪个版本(应该是beta 2),反正就是没反应……

如果你是个CSS Vaild的忠实拥护者,可以尝试以下代码,据说能通过CSS验证。

#test {
color: #999; /* FF & Opera*/
[color: #f00; /* Safari & Chrome */
color: #000; /* IE8 – it works! */
}
* html .test {
color: #00f; /* IE6 */
}
*+ html .test {
color: #ff0; /* IE7 */
}

可通过测试,并没发现IE8有何反应,可能还是版本问题,如果你使用的是IE8,麻烦帮测试,若能正常显示,请评论说声。

一下是测试代码,上面两种写法都包含,自行把默认的div的id="test"改成class="test"就好了。
HTML :\ Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行 运行此代码

其实,在写Xhtml的时候尽量考虑周全,是可以避免使用CSS HACK的,但不得已的时候,不用还能如何呢?前些日子还看到了CSS条件,很是兴奋,可怎么在本地测试都没有用。不知道为什么……等着吧,再过几年,或许就没这么多烦恼了……

点击这里获取该日志的TrackBack引用地址

日志标签: Chrome  Firefox  IE  Opera  Safari  浏览器  css  hack  前端开发  

已有人对此文发表了评论

发表评论:

邮箱网址为选填;若您注册了GRAVATAR,请填写邮箱(不会公开),否则最好不填,您可在提交评论前选择表情头像;点击他人头像可引用其评论。插入UBB

About me

Name: KandyTang
Age: 20+
Location: Guilin, China
QQ: 121885959
Email: KandyT@qq.com

My Works

中文酷博聚合 汽车手绘·视频·教程 史努比(中文)网 免费的PJBlog皮肤 淘宝创意导购 桂林{摄影}品牌

Gallery

Unnamed Album

Unnam... (4)

复线文字LOGO设计

复线文字L... (10)

订书钉的创意-微型城市

订书钉的创... (4)

2010元宵烟火

2010元宵烟火 (7)

国外贺卡设计欣赏

国外贺卡设计欣赏 (20)