Maa*_*ten 4 css xml css-selectors
我正在设计一个包含像<a.b></a.b>或等标签的XML文档<b:c></b:c>.当然,如果我写CSS规则就好
a.b {
}
b:c {
}
Run Code Online (Sandbox Code Playgroud)
它不起作用,因为这些字符将分别被解释为类和伪类.有没有办法用CSS引用这些标签名称?(我不想使用XSL ......)
如上所述,要引用带有.标记名称的元素,您可以简单地转义它:
a\.b
Run Code Online (Sandbox Code Playgroud)
但对于一个元素来说同样不能说b:c,因为:在XML中具有特殊含义,作为命名空间分隔符.这意味着,你必须元素实际上是c在元素b 的命名空间,而不是所谓的一个元素b:c.1
也就是说,选择该元素有两种正确的方法.首先,因为正如我所提到的那样,元素实际上是被调用的c,所以b:c你可以简单地使用:
c
Run Code Online (Sandbox Code Playgroud)
在命名空间冲突的情况下,第二种方法是首先b使用@namespace与XML文档中的xmlns:b命名空间相对应的方式在样式表的开头声明命名空间(文档中应该有一个命名空间引用,否则它将无效) ):
/* Whichever URL corresponds to xmlns:b in your XML document */
@namespace b 'http://ns.example.com/b';
Run Code Online (Sandbox Code Playgroud)
然后使用名称空间前缀来选择元素:
b|c
Run Code Online (Sandbox Code Playgroud)
1 请记住,我们在这里讨论XML,而不是HTML或任何:没有特殊含义的任意标记语言.