CSS:在@namespace选择器中通过SubString引用URL

时间:2015-09-16 18:38:09

标签: css css-selectors

我正在尝试为一个网址创建一个CSS @namespace,其中包含一个动态附加到结尾的查询字符串列表。

例如:

假设我的基本网址是:“www.sample.com/sample”

我的网址末尾是参数列表,后跟document.refferer

“www.sample.com/sample?Param1=1&Param2=2&rf_sb = {{document.refferer}}

我想根据网址的@namespace在我的CSS样式表中设置Param2

@namespace foo "{{url selector}}";

..但我不确定用什么语法来选择URL的子字符串。我看到使用@namespace的所有示例都使用文字网址:

@namespace foo "www.sample.com/sample?Param1=1..."

..但由于查询字符串动态附加到URL并且可以包含任何内容,因此我无法使用文字URL声明。我需要做类似的事情:

@namespace foo *"Param2=2"*

..星号是一张“外卡”

可以这样做吗?这样做是否有正确的语法?如果是这样,我在哪里可以找到更多相关信息?谢谢!

1 个答案:

答案 0 :(得分:1)

你不能这样做。 CSS中的命名空间只能与单个完整的命名空间名称相关联,而不能与其部分匹配。请参阅spec

CSS中唯一可以执行子字符串匹配的位置是属性选择器。根据{{​​1}}属性的声明位置(假设这些是XML命名空间),您可以使用

之类的东西。
xmlns

:root[xmlns\:foo*="Param2=2"] .foo

(注意转义的.foo[xmlns\:foo*="Param2=2"] 代替正确的命名空间前缀)

然而,正如你所看到的,这就像它接近黑客一样。