这些标签是啥意思[如果 IE 8]?

Posted

技术标签:

【中文标题】这些标签是啥意思[如果 IE 8]?【英文标题】:What does these tags mean [if IE 8]?这些标签是什么意思[如果 IE 8]? 【发布时间】:2015-01-23 20:50:27 【问题描述】:

我买了一个模板。有一些标签,看不懂:

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

【问题讨论】:

检查this。 【参考方案1】:

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

自 IE 版本 10 起不再支持它们。


该特定用途是有条件地确定要使用哪个 &lt;html&gt; 标记,以便它具有基于浏览器的不同类。这使您可以基于该类来定位文档中的 CSS 规则,这有助于对旧版支持。

【讨论】:

【参考方案2】:

如果用户正在使用 Internet Explorer 8(例如)查看您的网站,那么您的 &lt;html lang="en" class="no-js"&gt; 将变为 &lt;html lang="en" class="ie8 no-js"&gt;(这也可用于将用户指向另一个专门针对 IE 8 的样式表)。

当您需要更正网站上一些对于 IE 8 来说看起来很糟糕的事情时,它很有帮助。

但自 IE 10 起不再支持它们。

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

【讨论】:

所以我不必用php渲染它们只显示其中一个,而是保持原样,浏览器会选择正确的? 是的。离开他们,一切都会好起来的。【参考方案3】:

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

我找到了这段代码 sn-p 并说如果您使用的是 ie8 或更低版本,则当用户使用 ie8 或更低版本时,会执行 cmets 中的代码。

【讨论】:

以上是关于这些标签是啥意思[如果 IE 8]?的主要内容,如果未能解决你的问题,请参考以下文章

关于html的超链接a,a:link,a:visited,a:hover这些是啥意思,麻烦简单讲下

target 标签是啥意思

form中action是啥意思

css中normal-nav是啥意思

c语言switch语句中default是啥意思?

图纸中标的EQS是啥意思