快速业务通道

介绍我知道的hack方法

作者 佚名技术 来源 CSS技术 浏览 发布时间 2012-03-04

现在浏览器多了,做web页面还是比较痛苦的,当然,如果你不在乎自己做的页面在有些浏览器上面惨不忍睹那也是种不错的心态(至少少了点头痛的机会),可是你老板或者上司或者你的用户同意吗?-__!

下面我就介绍我知道的hack方法吧。我现在比较常用的,并且感觉用的不动脑子的方法是:

#yourId/.yourClass {/*normal*/}
* html #yourId/.yourClass {/*IE6 and below*/}
*+html #yourId/.yourClass {/*IE7 only*/}
@media all and (min-width:0px){
    #yourId/.yourClass { /*opera*/ }
}

用法:直接写CSS,用firefox作为第一浏览器看效果,然后IE6下不一样,就用* HTML重写那个ID容器或者类;如果IE 7不一样,就用*+HTML重写,如果opera下面不一样,就用@media那个,当然这写重写的需要放在原来的后面。呵呵,就这么简单。这个方法用了之后可能会上瘾,可是会有诸如增加CSS文件容量等不爽,甚至有时候还会出现直接用这个写几段不同的。所以还是建议能熟悉了解个浏览器具体是在什么属性上支持不一样(例如border宽度IE6认为是不能算在width里面的,但是firefox是认为算width一起的),先尽力写几个浏览器通用的 CSS,不到必不得已不用这个hack方法。

原理:firefox认为是CSS语法错误,所以忽略。但是不同IE版本识别不同,不忽略,所以能实现hack,并且*+HTML还能通过W3C验证,呵呵,爽吧。opera那个就不多说了,也是类似原理,但是看起来比较崩溃,要说明的是, firefox下没问题的话,opera基本也没什么问题的,所以不太会用到这个hack。

还需要其他浏览器hack方法?抱歉,我就知道这么多,因为我电脑上只有这么几个浏览器,呵呵,公司要求或者我自己想要把握的用户群够了。

另外就是!important这个方法了(firefox遇到这个优先级就最高,但是IE6不认,所以下面重新定义可以覆盖),不过这个貌似是以前甚至现在都很多人在用的,但是我个人感觉不是很爽,不能像上面的那样明确的搞定某个浏览器。比如现在IE7对规范CSS支持已经比IE6好了不知道多少,但是还是会有和firefox有的差异,所以用important的方式,控制起来并不像上面的那么一目了然。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号