【问题标题】:Link and Style tag get XHTML warning in cshtml链接和样式标签在 cshtml 中获得 XHTML 警告
【发布时间】:2012-04-04 19:55:48
【问题描述】:

我尝试过使用

<link href="@Url.Content("~/Content/Extras.css")" 
rel="stylesheet" type="text/css" />

但收到警告

Validation (XHTML 1.0 Transitional): Element 'link' cannot be 
nested within element 'link'.

所以我尝试了

<style></style>

得到一个非常相似的警告

"Validation (XHTML 1.0 Transitional): Element 'style' cannot be 
nested within element 'style'."

我怎样才能符合这个验证?

【问题讨论】:

  • @alirizaadiyahsi - 该链接确实很好地解释了为什么会发生这种情况。我将发布一个答案,展示如何在几分钟内将链接标签动态附加到头部。
  • 不确定这是否有助于警告,但在第一个示例中存在引用问题。您不能在带引号的属性值中加上引号。
  • @MrLister - 感谢您的建议,但剃须刀引擎实际上会将其编译成一个字符串,该字符串将位于外部引号内。

标签: css razor


【解决方案1】:

由于 Alirizaadiyahsi 在评论中链接(尽管它已被删除),此警告的原因是 &lt;link&gt;&lt;style&gt; 标记可能只出现在文档的头部。

这对我来说是个问题,因为我想为我的 asp.net mvc 3 站点中的某些区域设置自定义样式。为了解决这个问题,我这样做了:

<script type="text/javascript">
 var x = document.createElement("link");
 x.setAttribute("href",'@(Url.Content("~/Content/Extras.css"))');
 x.setAttribute("rel", "stylesheet");
 x.setAttribute("type", "text/css");
 $('head')[0].appendChild(x);
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-25
    • 1970-01-01
    • 1970-01-01
    • 2015-11-12
    • 1970-01-01
    • 2020-08-05
    • 2021-05-14
    • 2021-09-29
    相关资源
    最近更新 更多