这些标签的意思是什么 [如果是IE 8]?

3

我购买了一个模板,但有些标签我不理解:

<!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渲染它们?

请查看这个链接 - undefined
3个回答

8

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

自IE 10版本以后,它们不再被支持。


那种特定的用法是有条件地确定使用哪个<html>标签,以便根据浏览器为其赋予不同的类。这使您可以基于该类在文档中针对CSS规则进行定位,这对于遗留支持非常有帮助。

5
如果用户使用Internet Explorer 8(以此为例)浏览您的网站,则您的<html lang="en" class="no-js">变成了<html lang="en" class="ie8 no-js">(这也可以用于将用户指向另一个专门针对IE 8的样式表)。

当您需要纠正在IE 8下显示效果不佳的一些问题时,这非常有帮助。

然而,自从IE 10之后不再支持。

无论如何,您可以按照原来的方式不作任何修改。


所以我不需要使用php来渲染它们,只显示其中一个,而是保留它们的原样,让浏览器选择正确的一个? - undefined
是的。只要把它们留下来,一切都会很好。 - undefined

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或更低版本时执行注释中的代码。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接