条件评论与Javascript

时间:2012-04-17 13:49:05

标签: css

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

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

这是最好的方法吗?或者使用javascript是最佳做法?

7 个答案:

答案 0 :(得分: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]-->

这允许您保留一个样式表,并且只添加上述任何类来定位特定的条件黑客。

答案 1 :(得分:1)

这几乎是最好的做法。您可能应该检查[if lt IE 9],因为IE 9非常支持CSS,但肯定不使用浏览器嗅探JavaScript。这几乎总是解决问题的最糟糕方法。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

使用条件评论。它们阻止其他浏览器必须下载/运行任何脚本,但仍然可以为IE用户提供服务。

答案 5 :(得分:0)

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

答案 6 :(得分:0)

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