在<head>标签之外链接css样式表的坏处是什么?

7
首先,我知道连接CSS外部样式表的<link>标签应该在<head>部分中,并且将其放在头部以外是非常不正规的。
然而,我正在使用头部和页脚包含来进行模块化网页设计,有一些CSS样式表适用于某些页面而不适用于其他页面。
由于现代浏览器的良好兼容性,我已经在某些页面的<body>部分放置了一些<link>标签,除了IE之外,我目前还没有遇到任何问题...但是,个人目前并不太关心IE。
因此,向HTML纯粹主义者道歉,但我必须问:在<head>之外链接CSS外部样式表会有什么负面影响?
在我的研究中,人们通常只是引用w3schools指出“在头部链接CSS样式表”,但并没有过多阐述原因:Do <link href=""> tags only go in the <head> tag? "有效性"被视为一个答案,但这意味着什么?搜索引擎友好吗?如果搜索引擎读取我的样式表或不读取我的样式表,我看不到任何好处...

1
这是一个重复的问题吗?参考的问题指定了<style>元素,而这是关于使用<link>元素将文档链接到外部样式表的引用。微妙,但不同吗? - Dan Eastwell
同意...不是重复。不同的问题有不同的答案。在这种情况下,HTML5允许使用。而在另一个问题的情况下,只允许在作用域元素中使用。 - Marcin N.
2个回答

17

摘自HTML 4.01规范

该元素定义了一个链接。与A不同,它只能出现在文档的头部节(section)中,但可以出现任意次数。

HTML5规范没有提到标签必须出现在头部。因此,如果您在正文(body)内使用它们,请确保使用HTML5 DOCTYPE,例如:

<!DOCTYPE html>

根据HTML5规范,一个链接元素必须具有rel属性。

并且

如果使用了rel属性,则该元素限制在head元素中使用。


1

<Link>元素定义当前文档与另一个资源(如样式表)之间的关系。

<head>标记是所有头部元素的容器,如脚本、链接、标题和元标记。这些头部元素在浏览器中查看文档时不会显示出来。

我们也可以将<link>元素放在正文部分,但不能将其他HTML元素放在<head>部分。例如,如果在<head>部分包含<a>元素,则无法在浏览器中查看它,因为它不是文档<body>部分的一部分。

最佳实践是将<link>元素放在文档顶部即<head>部分,以便在加载页面本身之前应用具有样式的所有元素。如果将<link>放在<body>部分的底部或中间,则文档将首先显示所有内容,然后再应用样式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接