我买了一个模板。有一些标签,我不明白:
<!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渲染它们?
答案 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 或更低版本时,注释中的代码会被执行。