1

目前我正在开发一个网页,只需要为 IE 设置一个样式。我正在使用有条件的评论:

<!--[if IE]>
    <link rel="Stylesheet" href="../../IEstyles.css" rel="Stylesheet" />
<![endif]-->

这是执行此操作的最佳方法还是使用 javascript 是最佳实践?

4

7 回答 7

1

Html5Boilerplate是最佳实践的网站,他们的建议如下:

<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
<!--[if lt IE 7 ]> <html class="no-js ie6" lang="en"> <![endif]-->
<!--[if IE 7 ]>    <html class="no-js ie7" lang="en"> <![endif]-->
<!--[if IE 8 ]>    <html class="no-js ie8" lang="en"> <![endif]-->
<!--[if (gte IE 9)|!(IE)]><!--> <html class="no-js" lang="en"> <!--<![endif]-->

这使您可以保留一个样式表,只需将上述任何类添加到针对特定条件黑客的前面。

于 2012-04-17T13:51:58.760 回答
1

这几乎是最佳实践。您可能应该改为检查[if lt IE 9],因为 IE 9 很好地支持 CSS,但绝对不要使用浏览器嗅探 JavaScript。这几乎总是解决问题的最坏方法。

于 2012-04-17T13:52:03.677 回答
0

不是每个人都启用了 JavaScript - 我所知道的每个主流浏览器都支持 HTML 注释。

于 2012-04-17T13:51:06.327 回答
0

由于这只是一个样式表,因此是一个 UI 问题,我会避免使用 javascript,而只使用条件注释来定位 IE。如果您尝试进行某种浏览器嗅探,这也解决了禁用 javascript 的人的问题。

于 2012-04-17T13:51:18.950 回答
0

使用条件注释。它们可以防止其他浏览器必须下载/运行任何脚本,但具有始终为 IE 用户工作的好处。

于 2012-04-17T13:51:55.687 回答
0

使用条件将是最好的主意,因为您无法保证访问者不会禁用 javascript 或禁用脚本。由于这仅适用于 IE 浏览器,其他浏览器将忽略它,而所有浏览器都将处理 Javascript,无论是否用于 IE。

于 2012-04-17T13:52:04.160 回答
0

Javascript 可以被禁用,所以我会说条件注释是提供特定于 IE 的 CSS 的最佳方式。

于 2012-04-17T13:52:05.953 回答