这些标签是啥意思[如果 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 起不再支持它们。
该特定用途是有条件地确定要使用哪个 <html>
标记,以便它具有基于浏览器的不同类。这使您可以基于该类来定位文档中的 CSS 规则,这有助于对旧版支持。
【讨论】:
【参考方案2】:如果用户正在使用 Internet Explorer 8(例如)查看您的网站,那么您的 <html lang="en" class="no-js">
将变为 <html lang="en" class="ie8 no-js">
(这也可用于将用户指向另一个专门针对 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]?的主要内容,如果未能解决你的问题,请参考以下文章