如何将样式应用于 HTML 个子文档?

How to apply style to HTML subdocuments?

我倾向于将我自己的自定义 CSS 文档应用于某些网站,因为我更喜欢深色背景和浅色文本,而不是反之亦然的标准,而且很少有网站有 "dark mode"或者以其他方式迎合这种偏好,这个网站本身就是一个很好的例子。

但是,我最近遇到了一些奇怪的事情 - 整个 HTML 文档嵌套在另一个文档中。 (我现在明白这是通过使用 <iframe> 实现的,因此没有 JS 或其他东西几乎不可能设置样式)不过,我只能将自定义样式表应用于父文档。

所以,长话短说,我想知道我必须使用哪种选择器来仅定位嵌套文档的元素 - 例如,选择嵌套文档的 <body>。我是否会在 !DOCTYPE 中引用 html 中的 body,它也在 中引用 body?递归嵌套文档呢?

这种嵌套行为是否是不良做法并不立即引起我的关注——似乎有一个有效的用例,无论如何,我不是在构建网站。我关心的是如何在外部添加样式。

假设您确实有一个文档已经 'injected' 到另一个文档中,您只需使用预期的标识符来定位它:

唯一 元素定位到 sub-document:

body body [element] {
}

要定位存在于两个 文档中的元素,您只需使用标准:

[element] {
}

以上内容会将样式应用于任一文档中包含的任何所需元素。

请注意,您不能 使用 CSS 在文档中设置 iframe 的样式——您要么必须找到一种方法来操纵 iframe 的 CSS 本身,或使用 JavaScript 通过 document.getElementById().

定位所需的元素

希望对您有所帮助! :)