我的头标记中有以下内容:
<link rel="stylesheet" href="Scripts/styleMain.css" media="all" type="text/css" />
<![if gte IE 9]><!-->
<link rel="stylesheet" href="Scripts/styleMob.css" media="screen and (max-width:500px)" type="text/css" />
<link rel="stylesheet" href="Scripts/styleDes.css" media="screen and (min-width:501px)" type="text/css" />
<!--<![endif]-->
<!--[if lt IE 9]>
<link rel="stylesheet" href="styleDes.css" type="text/css" />
<![endif]-->
问题是,第二行被认为是虚假评论,而同一行上的第二个标记被认为是评论的过早结束。
在同一行上添加额外的标签,并在第一个endif上给我两个错误的评论错误。
有什么方法可以让我的样式表有条件,并让它们验证?或者我注定要在我的OCD编码中使用无效代码?
答案 0 :(得分:7)
你的第二行在错误的地方有开场评论分隔符:
<!--[if gte IE 9]><!-->
请注意,此处的语法突出显示它现在正确地突出显示为注释。
以下标记的其余部分也会正确突出显示,因为<!-->
现在被视为<!
后跟-->
,而不是<!--
后跟{ {1}}就像你的无效标记一样:
>
代码中未突出显示为注释的位将是IE9及其他浏览器以及其他浏览器将如何看到您的标记。较旧的IE只会看到您的第一个和最后一个<link rel="stylesheet" href="Scripts/styleMain.css" media="all" type="text/css" />
<!--[if gte IE 9]><!-->
<link rel="stylesheet" href="Scripts/styleMob.css" media="screen and (max-width:500px)" type="text/css" />
<link rel="stylesheet" href="Scripts/styleDes.css" media="screen and (min-width:501px)" type="text/css" />
<!--<![endif]-->
<!--[if lt IE 9]>
<link rel="stylesheet" href="styleDes.css" type="text/css" />
<![endif]-->
元素。
答案 1 :(得分:0)
这应该有效。
<link rel="stylesheet" href="Scripts/styleMain.css" media="all" type="text/css" />
<!--[if gte IE 9]>
<link rel="stylesheet" href="Scripts/styleMob.css" media="screen and (max-width:500px)" type="text/css" />
<link rel="stylesheet" href="Scripts/styleDes.css" media="screen and (min-width:501px)" type="text/css" />
<!--<![endif]-->
<!--[if lt IE 9]>
<link rel="stylesheet" href="styleDes.css" type="text/css" />
<![endif]-->