这些标签意味着什么[如果IE 8]?

时间:2014-11-25 18:06:41

标签: javascript html css

我买了一个模板。有一些标签,我不明白:

<!DOCTYPE html>
<!--[if IE 8]> <html lang="en" class="ie8 no-js"> <![endif]-->
<!--[if IE 9]> <html lang="en" class="ie9 no-js"> <![endif]-->
<!--[if !IE]><!-->
<html lang="en" class="no-js">
<!--<![endif]-->

这些if子句是什么以及我与它们有什么关系? 它们是否适用于浏览器,我不需要对它们做任何操作,或者我必须用php渲染它们?

3 个答案:

答案 0 :(得分:6)

这些是IE的非标准conditional comments。它们允许在IE中有条件地加载HTML页面的部分内容。

自IE 10版以来,它们不再受支持。


该特定用途有条件地确定使用哪个<html>标记,以便它具有基于浏览器的不同类。这使您可以基于该类在文档中定位CSS规则,这有助于遗留支持。

答案 1 :(得分:1)

如果用户使用Internet Explorer 8查看您的站点(作为示例),则<html lang="en" class="no-js">变为<html lang="en" class="ie8 no-js">(这也可用于将用户指向另一个专门用于IE 8的样式表同样)。

当您需要纠正网站上的一些看起来很糟糕的IE 8时,这很有帮助。

自IE 10以来,它们已不再受支持。

无论如何,你可以保持原样。

答案 2 :(得分:0)

<!DOCTYPE html>
<!--[if lt IE 9 ]> <html class="ie8"> <![endif]-->
<!--[if IE 9 ]> <html class="ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html> <!--<![endif]-->

我找到了这个代码片段,并说如果您使用的是 ie8 或更低版本,当用户使用 ie8 或更低版本时,注释中的代码会被执行。