目前我正在开发一个网页,需要为IE设置一个样式。我正在使用条件评论:
<!--[if IE]>
<link rel="Stylesheet" href="../../IEstyles.css" rel="Stylesheet" />
<![endif]-->
这是最好的方法吗?或者使用javascript是最佳做法?
答案 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的最佳方式。