如何在正文中正确加载样式表?

时间:2014-11-23 16:07:44

标签: css cross-browser stylesheet external web-standards

我知道我可以将<link>标记放在正文中,显然它有效,但我知道它不是&#34;有效&#34; html和我想避免使用像firefox这样的严格浏览器的问题,它忽略了网页设计师在官方规范中没有定义的所有行为。

那么在html的正文区域加载样式表有哪些官方方法吗?

4 个答案:

答案 0 :(得分:9)

你可以动态地在头部添加你的css,如下所示:

<强> jsCode:

var head = document.getElementsByTagName("head")[0],
    cssLink = document.createElement("link");

cssLink.href = "path/to/filenam.css";
cssLink.id="dynamic-css";
cssLink.media="screen";
cssLink.type="text/css";

head.appendChild(cssLink);

答案 1 :(得分:7)

document.head.appendChild( linkElement );

...其中linkElement是您的样式链接。没有人强迫你向身体添加东西,只需将它添加到头部。

答案 2 :(得分:4)

链接到正文中的样式表

是有效的
  

stylesheet关键字可以与link元素一起使用。此关键字创建外部资源链接,该链接有助于样式处理模型。这个关键字是正文。

https://html.spec.whatwg.org/multipage/semantics.html#body-ok https://www.w3.org/TR/html5/links.html#element-statedef-link-stylesheet

答案 3 :(得分:1)

实际上,在旧版本的HTML中,在link元素中放置body元素是非法的,并且必须只在HTML文档的head部分中。从这个link开始,有一节说明了这个

  

它可能只出现在文档的HEAD部分

因此,只需将样式表加载到head元素中,就没有理由让您或任何人编写不符合W3.org规则的非法文档。

<head>
   <link rel="stylesheet" href="~/css/file.css" />
</head>

但是,还有一个问题是您可能对阅读感兴趣,并且在哪种情况下您可以将链接元素添加到正文部分。阅读答案here