2

所以我决定将我的 CSS 分解成一个 ie6-and-ie7-only 文件。我将在此文件中包含仅针对 ie6 和 ie7 的 CSS 规则,例如:

div {
    *color: red; /* target ie7 and below */
    _color: green; /* target ie6 and below */
}

如果可能的话,我更喜欢使用 PHP with$_SERVER['HTTP_USER_AGENT']来检测浏览器,而不是使用条件注释。

我知道访问者可以“欺骗”他们的用户代理并声称是他们想要的任何浏览器,但是对于使用 PHP 而不是条件注释来检测浏览器的一般意见是什么?

4

3 回答 3

4

您是否希望每次请求页面时都进行字符串比较?我不会。我会把它留给浏览器。

于 2009-10-31T15:27:57.270 回答
4

恕我直言 - 使用 IE 条件注释。与服务器上的处理相比,它们要快得多!考虑一下,如果您有 100 个客户端在您的服务器上处理此问题,那么与委派给这 100 个客户端进行渲染和处理相比,您的服务器会变慢。

即使您缓存它而不是每次都在服务器上呈现它,也不值得服务器加载。

于 2009-10-31T15:29:28.220 回答
0

作为替代方案,对我来说效果很好,您可以使用css_browser_selector.js。有了它,你的样式表看起来更像这样:

.ie7 div {
    color: red; /* target ie7 */
}

.ie6 div {
    color: green; /* target ie6 */
}
于 2009-10-31T16:05:39.280 回答