在 元素之外使用 <style> 标签是否正确?
像这样:
<html>
<head>
<style> some style </style>
</head>
<body> some text </body>
<style> some more style </style>
<body> some more text </body>
</html>
我想这样做是因为:我的 cgi 以他们自己的风格获取其他文件。
cgi文件包含:
#!/bin/bash
echo "content-type: text/html"
echo ""
echo "<html><head><style>"
echo "h1 {color: red;}"
echo "</style>"
echo "<body>"
echo "<h1> some text here </h1>"
echo "</body>"
source ./data.sh
echo "</html>"
源文件包含:
echo "<style>"
echo "h2 {color: blue;}"
echo "</style>"
echo "<body>"
echo "<h2> and some other text here </h2>"
echo "</body>"
这似乎工作正常。但这是正确的吗?
在 w3schools 它说:
每个 HTML 文档可以包含多个 <style> 标签。
但它是这样做的吗?
最佳答案
样式应该只包含在文档的头部。
除了验证点之外,在正文上使用样式时您可能会感兴趣的一个注意事项是无样式内容的闪现。浏览器将获取在显示后设置样式的元素,使它们在大小/形状/字体和/或闪烁上发生变化。这通常是工艺不良的标志。通常,您可以随心所欲地放置样式,但只要有可能就尽量避免。
HTML 5 引入了一个 scoped 属性,允许样式标签包含在正文的任何地方,但随后又将其删除。
根据 W3 规范,<link>
标签只应该放在 <head>
中部分:
引用资料
对于 HTML 4.01:http://www.w3.org/TR/html401/struct/links.html#edef-LINK
对于 HTML5:http://www.w3.org/TR/html5/document-metadata.html#the-link-element
验证问题
如果您将标记放在 HTML 文档的正文中,它将不会使用 validate.w3.org 进行验证
关于html - 在 <head> 元素之外使用 <style> 标签是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42608504/