有没有一种选择器只在匹配特定的URL或URL的一部分时应用CSS?
例如,这是我的CSS样式表:
p {
color: green;
}
url("home.html") {
color: blue;
}
url("about.html") {
color: yellow;
}
path("/path/index*") {
color: indigo;
}
当用户访问home.html时,我希望应用home.html选择器。当我在about.html URL上时,我希望应用about.html选择器。
CSS媒体查询允许您在视图宽度更改时切换到不同的样式集。它还允许您在用户要在屏幕上查看或将其发送到打印机时指定不同的样式集。
我的问题是,“是否可以根据URL或URL中的值指定不同的样式集。”因此,这不是关于如何做我所问的事情,而是关于是否可能做到。
我正在使用CMS,它有一个主题,允许您添加自己的CSS。有一个样式表。就这些。不是两个而是一个。
我有一个页面只有特定的CSS,而只有该页面。这就是我的问题的起源。可能会有成千上万种解决方法,但我的问题不是关于解决方法。
但是,既然已经回答了这个问题,我不介意与问题相关的解决方法。
^=
, 包含*=
, 结束于$=
, 等于=
。如果他们想要添加正则表达式,那么就让一个新的运算符对所有属性都可用,而不仅仅是这一个,也许是@=
,%=
或者regex
? - Robert McKee:root
,但名称为document
(或者如果您喜欢,可以使用:document
)。不过,按照您提出的建议,最好直接重用:root
。 - Robert McKeep:url(...)
这样的伪类。而是一个存在于文档根元素更高层次的虚假/模拟(为避免使用伪名称)元素。在概念上,它是 html 元素的父级,但正如你所建议的,伪类也可以起作用,允许像nav > a:document-url(...)
这样的构造,但这样就无法使用好看的属性选择器了。但是,一个模拟/虚假元素将允许像document[url*='example.com'] nav > a { ... }
这样的构造。 - Robert McKee