考虑到我的整个网站只有一个 css 文件(这样做是一种常用技术),我想知道是否有一种方法可以选择网站范围的属性,例如 body
(或实际上任何其他属性)根据仅使用 css 的当前页面。
有点像
body:in('index.html') {
some properties;
}
body:in('contact.html') {
other properties;
}
同样,仅限CSS。我知道使用 php、js、jquery 之类的简单解决方案...
最佳答案
除了 DOM 树中显示的内容之外,选择器没有关于文档的信息,并且 DOM 不会根据其文件名、URL 或任何其他此类属性公开有关页面的信息。
历史上有一个用于查询当前 URL 的 @document
at 规则,但它已从 Conditional Rules Level 3 module 中删除.最可能的原因是缺乏跨供应商的实现,因为 Gecko 中存在唯一已知的实现,如 @-moz-document
.这太糟糕了,您在野外发现的唯一用途是不是基于特定页面应用 CSS,而只是作为 Firefox 的 CSS hack。
如您所述,最简单的解决方法是让每个页面将一个唯一的类应用到 html
或 body
元素并根据该类进行选择,无论是通过硬编码还是动态。
关于html - 是否可以仅使用 CSS 选择基于当前页面的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28704182/