自动化&简化Crossbrowser支持

时间:2011-04-05 18:57:59

标签: javascript html css cross-browser

我似乎最终为支持旧的低于兼容的浏览器所做的很多事情似乎是(1)重复性的,(2)容易忘记。有两件事告诉我,他们应该用电脑而不是我的脑来处理。

例如,我使用的任何地方......

.element-selector {
    display:inline-block;
}

...为了支持IE7,我实际上需要应用其他规则......

.element-selector {
    display: inline-block;
    /* IE7 */
    zoom: 1;
    display: inline;
    /* End IE7 */
}

...以便在IE7中正确呈现内容。

我不确定我在这里要求的确切内容。但似乎应该有一些东西我可以设置为“为我做这个”。也许某些脚本静态分析我的CSS文档并插入这些东西?一些疯狂的jQuery插件将它们插入到DOM中?一些CSS生成伪语言,允许自动创建CSS文档?

3 个答案:

答案 0 :(得分:1)

  

自动化&简化Crossbrowser   支撑

我假设“Crossbrowser”,你主要是谈论Internet Explorer。它是最大的麻烦制造者,以及一些令人烦恼的广泛使用的旧版本are still。旧版其他浏览器的使用可以忽略不计,以至于您可以忘记它们。

看起来你(明智地)已经忘记了旧版本的非IE浏览器;使(您的示例)display: inline-block在Firefox 2 you need display: -moz-inline-stack中工作。

  

插入一些疯狂的jQuery插件   他们进入DOM?

不是jQuery :)但这解决了很多问题:http://code.google.com/p/ie7-js/

  

IE9.js - 将MSIE5.5-8升级为   与现代浏览器兼容。

我必须指出,当JavaScript关闭时,任何基于JavaScript的内容显然都无效。

  

也许是静态的一些脚本   分析我的CSS文档并插入这些文档   东西?

我能想到的最接近的是:http://www.onderhond.com/tools/ie6fixer/

  

欢迎使用IE6 CSS Fixer:starter   套件页面。专门设计的工具   缓解ie6 css的痛苦   调试器。 ..非常   重要的是要注意这个工具是   不是奇迹般的解决方案。 ..在一些   它甚至可以引入的情况   新错误,所以请记住这一点   你添加一个潜在的   有害的修复。也知道它确实如此   不输出清洁,精益和优化   css代码。 ..这个工具很有礼貌   减少猴子的工作时间   启动ie6 css修复文件。它   应用了一系列基本修正   众所周知,它可以解决许多问题   造成尽可能小的伤害。

它只是专门尝试修复与IE6相关的问题,值得庆幸的是,它变得越来越不重要了。

答案 1 :(得分:1)

像Sass或Less这样的东西可以帮助你。您可以定义mixins并使用它们。

.inline-mix {
    display: inline-block;
    /* IE7 */
    zoom: 1;
    display: inline;
    /* End IE7 */
}
.element-selector {
    .inline-mix;
}

这不是一个自动化的解决方案,但它可以帮助你干掉你的css。

答案 2 :(得分:0)

我在一家大型银行的合规项目团队工作,为他们的信用卡业务重做了1,000多个网站。要求非常严格,并为IE6以下的用户,屏幕阅读器支持以及缺少javascript /图像指定了向后兼容性。使其快速可行的单一工具是960.gs

重置让我们回到基线,并且消除了对相当少的IE特定黑客的需求(它们已经由代码完成)网格消除了IE的盒式模型缺陷,并帮助确保布局不吃生产过程中的时间。节省的时间使我们超越了产量预期并进行了更彻底的测试,这是一场全面的胜利。

在我那里,我不允许使用JQuery,使用EXTREMELY sparce Javascript,并且在数百页中共有3次IE浏览。可能的唯一方法是使用网格。这不是一个超级高科技,性感的答案。但是,我发誓要使用经过测试的战斗框架来加速生产。