2

我想知道哪个最适合速度:

选项 1:为每个浏览器加载单独的 CSS(通过 a 包含单独的 JS 文件<script/>):

// for internet explorer 6 & 7
if ($.browser.msie) {
    document.write('<link rel="stylesheet" type="text/css" href="/css/styles-ie.css" />');
}

// for opera
if ($.browser.opera) {
    document.write('<link rel="stylesheet" type="text/css" href="/css/styles-opera.css" />');
}

选项 2:内联 CSS(通过 a 包含的单独 JS 文件<script/>):

// for internet explorer 6 & 7
if ($.browser.msie) {
    document.write('[some CSS styles]');
}

// for opera
if ($.browser.opera) {
    document.write('[some CSS styles]');
}

选项3:或者还有其他更好的方法吗?

4

3 回答 3

6

我最喜欢条件注释,虽然我没有真正测试它,但我希望它也是最快的选择,因为不涉及 DOM 操作。还有一篇很棒的文章介绍了使用这种技术支持 IE 对话,但阅读有关一些陷阱的文章也可能会有所帮助。

根据我的经验,除了 IE 之外,没有必要对其他浏览器进行任何例外处理,但由于您的示例也列出了 Opera,我建议您使用一些 CSS hack 来对 Opera 进行(可能很小的)更改。如果你在网络上搜索 Opera 特定的 CSS,你可能会找到你喜欢的东西;)

于 2009-01-18T10:47:30.723 回答
0

我使用CSS Reset来平衡比赛场地。这通常会使所有浏览器对我应用的样式表现得相当可预测。当然,我遇到过一些情况,IE 呈现的内容与更多符合标准的浏览器不同。使用条件注释,我可以使用特定于 IE 的样式表来修复这些差异。

于 2009-01-19T06:07:55.803 回答
0

您可以使用检测 IE 浏览器

  • IE 条件注释
  • CSS 规则特定
  • 条件 HTML 类

这是展示所有规则的好文章

于 2012-08-27T05:34:08.890 回答