Html 可以采取哪些步骤来避免跨浏览器兼容性问题?
最近,我一直在与以下问题作斗争:奇怪的表格边框/边距、div对齐、定位问题,而且我在支持internetexplorer6时遇到了一个彻头彻尾的噩梦。我知道很多像我一样的人都被迫支持IE6-IE8、Web工具包和基于Mozilla的浏览器 我的问题是:Html 可以采取哪些步骤来避免跨浏览器兼容性问题?,html,css,cross-browser,Html,Css,Cross Browser,最近,我一直在与以下问题作斗争:奇怪的表格边框/边距、div对齐、定位问题,而且我在支持internetexplorer6时遇到了一个彻头彻尾的噩梦。我知道很多像我一样的人都被迫支持IE6-IE8、Web工具包和基于Mozilla的浏览器 我的问题是: 在跨多个浏览器进行开发以节省时间时,您在开发之前使用的重要规则是什么? 如何防止自己编写不兼容的标签? 避免黑客攻击代码的最佳方法是什么? 你在哪里找到关于浏览器兼容性的研究,你使用过什么工具吗? 最后,你什么时候过线/在哪里画线? 我说,除了坚
我说,除了坚持基本原则,你没有什么可以做的:
- 符合代码标准的HTML
- 尽早验证,经常验证
- 对于Javascript,请使用类似、或的框架
- 选择一个您首先优化的“主浏览器”
使用像HTML4.1这样的doctype转换,使ie6在standardsmode中呈现。您还可以使用重置样式表。我想从符合标准的代码开始。始终首先在符合标准的浏览器(如Firefox或Safari/Chrome)中进行测试。我更喜欢Firefox的插件(如Firebug、HTTPFox和Web开发栏)。然后继续往下走(我指的是所有版本的Internet Explorer) 尽量避免针对每个情况或站点进行临时修复,并尽可能地概括您的代码。例如,正如Justin Neesner在他的回答中所说,在IE6、7和8中使用条件注释和通用样式表可以解决大多数布局和格式问题,而无需使用(太多)黑客。您可以重用IE样式表,只需将特定于站点的代码放在其中 使用诸如browsershots、NetRenderer或LitmusApp之类的测试平台,这样您就可以在尽可能多的浏览器版本中看到您的站点在做什么。深入研究浏览器兼容性会让你毛骨悚然,但任何像quirksmode.org这样的优秀资源都可以为你提供有关不兼容的小问题的信息,这样你就不会发疯,也不会秃顶
至于我什么时候越过/划清界限,99%的Internet Explorer问题,如果它足够接近FF或Chrome/Safari,我就完了。几乎和艺术一样,它不是当你完成添加时,而是当你完成移除你不想看到的垃圾时;这时您就知道它已经完成了。使用严格兼容的HTML和CSS标记,不要使用浏览器专有的CSS扩展 IE6并没有正确地实现CSS,因为它完全不知道盒子模型 另一方面,IE8有一个测试套件来证明他们正确地实现了CSS 2.1的各个方面(这是其他浏览器无法做到的) 如上所述为Firefox开发,并决定是否支持IE6和IE7。坦率地说,我不再为这些浏览器开发单独的样式表。他们没有足够的市场份额(至少在我的网站上) 考虑到对HTML5的兴趣和对XHTML2的缺乏兴趣,严格开发HTML4.01并遵循以下实践:(在HTML4中推荐,在HTML5和XHTML1.1中需要)
所以我已经四处奔波了一段时间,26天后我想我已经准备好对我的发现给出一些反馈 编码: 首先,我发现列系统似乎减少了HTML和CSS的编写量。它们也非常跨浏览器友好。虽然有很多,但我发现最适合我的作品是: 接下来,我发现Ruby有一个很酷的CSS扩展,名为LESS。此文件已移植到.NET,可在以下位置找到:。它易于安装,正确使用时功能强大 Javascript可能很棘手,但我发现在JQuery等语言中避免某些选择器和快捷方式不仅可以提高应用程序的性能,而且可以减少awk