传统上,您可以通过以下三种方式添加 CSS:
- 通过
<link rel="stylesheet" href="foo.css">
外部链接 CSS - 在
<head>
元素中通过<style> h1 { ... }
的内部 CSS - 针对特定元素的
style="..."
属性内联 CSS
内联 CSS 的缺点是我无法使用 CSS 类,而这恰恰是我需要做的事情。有没有一种方法来定义内部 CSS(例如在 <body>
元素中的 <style></style>
片段)?
这对我来说将更加容易,因为我可以创建一个自包含的 HTML 片段,并在我的服务器代码中使用方法。这个方法是必需的,因为我无法控制 <head>
部分。它归商业产品所有。我只能插入内容到 <body>
内。
例如:
<div>
<style>
.myclass {...}
</style>
<div class="myclass">...</div>
</div>
相关链接:https://htmx.org/essays/locality-of-behaviour/
我发现其他网站(如https://amazon.com)似乎在<body>
内部有多个样式标签。
理论和实践之间存在巨大的差距。许多网站在中使用<style>
。
编辑们决定不这样做。但也许将来会有改变:https://github.com/whatwg/html/issues/1605
<style>
标签添加在<head>
元素内才有效。在其他任何位置都是无效的。有关详细信息,请参见此链接:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/style 和 https://html.spec.whatwg.org/#the-style-element。 - Mihai T