回答读者提问(12)——关于CSS在不同浏览器的调试经验
今天焦飞龙读者提出一个问题,颇具代表性。对于使用CSS布局和设计网页,很大的麻烦来自于不同浏览器对CSS解释的差异。特别是IE浏览器和Firefox浏览器的差异。
这位读者的问题是:
“我学CSS一个多月了,以前网页制作的基础还不错,感觉CSS很好用,我正在用它做一个网站,刚开始有些地方遇上不少麻烦,不过还好,都解决了,经过半个月主页制作好了,感觉很满意,可是遇是了一个更麻烦的问题,我一直通过IE浏览器来查看的,可我今天放到Firefox里乱的好厉害,这是怎么回事啊,是不是有些浏览器里还不支持CSS的一些功能啊,还是自己制作过程中的问题,我买了精通CSS DIV这本书,主要是通过它来学习的,感觉很不错,不过现在看来有些基础了,有没有更好的书啊,实例多一些,麻烦您和我说说这些情况,真是不明白,谢谢!”
首先,对于浏览器的兼容问题,这里给大家两个建议,供大家参考:
1:当一个效果在Firefox和IE6中显示的不一样时,一般来说Firefox显示的是“正确”的效果,这里说的正确,并不是指主观希望的效果达到了就是正确效果,而是说按照真正的CSS规则,应该显示的效果,叫作正确的效果。也就是说,如果Firefox中显示的效果和希望的效果吻合,而与 IE显示不吻合,那么是IE有错误的可能性更大,而反之则说明很可能是为了迁就IE6的错误,而写了错误的代码。
那么为什么不能以IE为标准,当作是IE的效果是正确的呢?这是因为,CSS的规则本身是严格符合逻辑的,是可以计算和预测的,而IE中的很多错误是没有道理的,无法预测的,因此,用一个错误修正了另一个错误,在局部看起来可能效果是正确的,但是很可能在其它地方,或者更大范围内带来不可预知的麻烦,从而严重影响效率。因此,比较好的做法是以Firefox作为正确的效果,让IE想办法来适应它。
2:测试的时候,不要在一个浏览器中完全做好,再用另一个浏览器测试。例如,对于一个很复杂的页面,如果首先在Firefox中制作,已经完全测试好了,然后用IE查看,可能很多地方都是混乱的,此时就针对IE进行一系列调整,等调整好了,回到Firefox查看,又乱了,如此往复,结果可想而知。因此,从空白页面开始,每做一小步,就同时在各种浏览器中查看,一旦发现显示效果不同,立即查找原因,寻找解决办法,因为每次增加的代码都很少,这样就很容易找出原因,从而做到最后就可以同时满足各种浏览器了。
关于问到的深入一些的CSS书籍,我们现在推荐的是即将出版的《CSS设计彻底研究》,我们的目前正在连载的视频教程,就是为这本书配套制作的,这套书会深入地讲解很多更为深入的CSS原理和方法,希望对大家有所帮助!
11,431


温老师今年的新书什么? 有计划吗
老大给推荐一本 C# sql2005的书吧
多谢 我正为这件事情伤脑筋呢
我是从事JAVA的程序员,因为工作需要,得兼职来做网页这方面的东西,所以我买了css+div这本书,希望能帮我解决问题……听到上面的建议,对我有很好的帮助,之前对浏览器不是很清楚……现在了解了一点了……
你可以装一个IETester,就可以测试各种版本IE下的效果了,在我的网站里有这个的下载http://ec.hynu.cn
我还一直以为ie是标准的正确的解释,看来错了,谢谢你的分析
飞飞,
是的,IE6错误百出,IE7稍好一些,IE8基本上就都是正确的了。
看来我落伍了,我好像有听过IE7,还没听到IE8的呢……
很好 是自己的真实经验 为这我那时遇到了很多麻烦
潘,
是的,浏览器兼容性是个大麻烦,主要是IE6~~~~
其实我建议最好现在ff/chrome等标准浏览器中做出来,在修复ie下的bug .做一个模块修复一个模块,期待ie6快死去~
zlzlcl ,
是的,希望 IE6 早日离开我们~~
很喜欢你们的讲解。。。以前都是用table做网站,因为忙所以一直没有学。现在我一定要用div+css做!呵呵
泥巴,
谢谢您喜欢我们的教程。如果有比较丰富的table布局经验,转到CSS/DIV,还是很容易的,而且会有很深的理解。关键是要改变一些原来的思维方式。一旦熟悉了CSS布局的方式,就会觉得很爽了。
我要重什么做起呢?
YUAN,
具体您要做什么?
您好,请问《CSS设计彻底研究》什么时候出啊?
应该是在元旦左右,出版社编辑告诉我们进展顺利。