我目前有以下html prefix namespaces
<html lang="en" dir="ltr" prefix="content: http://purl.org/rss/1.0/modules/content/
dc: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/
og: http://ogp.me/ns# rdfs: http://www.w3.org/2000/01/rdf-schema#
schema: http://schema.org/ sioc: http://rdfs.org/sioc/ns#
sioct: http://rdfs.org/sioc/types# skos: http://www.w3.org/2004/02/skos/core#
xsd: http://www.w3.org/2001/XMLSchema# ">
我正在阅读一些东西并且遇到了这个:
<!--[if lt IE 7 ]><html class="ie ie6" lang="en"> <![endif]-->
<!--[if IE 7 ]><html class="ie ie7" lang="en"> <![endif]-->
<!--[if IE 8 ]><html class="ie ie8" lang="en"> <![endif]-->
<!--[if (gte IE 9)|!(IE)]><!--><html lang="en"> <!--<![endif]-->
以下是我的问题:
1. /是否将此添加到我的html网页干扰/碰撞与我当前的前缀命名空间?
2. /对于if (gte IE 9)
的情况,为什么在html声明之前有一个封闭的评论<!-->
,在声明之后有<!--
3. /我可以用这种声明做什么?
答案 0 :(得分:0)
您只能拥有一个<html>
代码,但您可以将第一个示例中的属性添加到第二个代码中的<html>
代码中。你想要实现什么目标?
您的第二个示例包含条件评论。它们仅受旧版Internet Explorer支持。其他浏览器会将它们视为普通的HTML注释 - 即它们会忽略它们。示例的最后一行关闭HTML标记之前的注释,以便所有非IE浏览器仍会看到<html lang="en">
标记。如果它被写成
<!--[if (gte IE 9)|!(IE)]><html lang="en"><![endif]-->
<html>
标记会在评论中,因此会被所有浏览器忽略。
您发布的代码的目的是将特定于IE版本的类输出到<html>
标记。它允许您编写用于定位特定IE版本的CSS声明,例如:
body {
background-color: white;
}
.ie7 body {
background-color: red;
}
这将使除IE7用户之外的所有人的页面背景为白色,对于谁来说它将是红色的。
在实践中,除非您迫切需要支持Microsoft自己不再支持的IE版本,否则这些日子并不常用这些解决方案。