Bookmark and Share

Lee's 程序人生

HTML CSS Javascript XML AJAX ATLAS C# C++ 数据结构 软件工程 设计模式 asp.net Java 数字图象处理 Sql 数据库
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

转:“银弹”Hack(IE6、7、8beta1)

Posted on 2009-01-14 14:05  analyzer  阅读(163)  评论(0编辑  收藏  举报

拿到IE 8 beta 2的 Search Partner Build Invitation。于是下午花了点时间先在网上搜寻了一下关于IE 8对CSS的支持,以及如何对它做Hack。

我是个懒人,最不喜欢去记那些复杂的hack,所以总是希望能找到一个“银弹”Hack,也就是“能搞定一切的通用方法”。下面是我能找到的最好的一个:

.indicator{
background: red; /** 只对FF Opera和Safari有效 **/
#background: blue; /** 只对IE7有效 **/
_background: green; /** 只对IE6有效 **/
/*/background: orange;*/ /** 只对IE8有效 **/
}

说明一下:

  • 上面的顺序不要去改动它,也不可以少写某一行。因为事实上以上各句的有效性应该是:
    第一行是对所有浏览器有效(废话!)
    第二行只对IE6和IE7有效(FF和IE8无效)
    第三行只对IE6有效(FF和IE7、IE8无效)
    第四行只对IE8有效(FF和IE6、IE7无效)
    很抱歉,没有单独为IE7使用的对属性的hack,淘宝UED Team上有一个,但要重写选择符,我觉得形式太烦,不喜欢。
  • 请不要用以前区分FF和IE6的hack方式,即在FF那一行加上!important,因为IE 8认得出这个单词(英语水平提高的原因??哈)
  • 除了我在注释里面写的几个以外,其他浏览器的效果我全部都不知道。若是想要做什么IE5.x或是IE/mac的hack,我建议你再另外单独写一个ie5_hack.css之类的,毕竟那是对少数族群的关怀。
  • 再次说明,这是为像我这样记性不好的懒人使用的,而且这样写出的CSS是非常好理解的。如果你想为更全面的浏览器做Hack,或是想只针对某一个浏览器做hack,请用你自己的方法,只要你记得住。

最后,给大家一个测试页面,像试纸一样可以比对页面在不同浏览器上的效果

我要啦免费统计