如何在 CSS 中引用带有特殊字符的 id

How to refer to an id with special characters in CSS

我正在开发一个 MediaWiki 皮肤,它将发布到 public 供任何人免费使用,但有些事情让我无法完成该项目。问题来了。

有一个由 MediaWiki 动态生成的列表(不是由皮肤,所以我无法控制它)并且它分配每个 <li> 和 id 等于它代表的页面名称。现在,除英语之外的其他语言都有可能出现在这些页面标题中的特殊字符,例如“Página Aleatoria”。对于这个页面,我看到一个 id 被设置为替换一些代码的重音字符,看起来像这样 <li id="P.C3.A1gina-aleatoria">.

现在的问题是如何在CSS中引用这个id?我试过 #P.C3.A1gina-aleatoria#página-aleatoria#pagina-aleatoria,但其中 none 似乎有效。

有什么想法吗?提前致谢!

试试这个,您可以像其他语言一样使用“\”转义 CSS 中的特殊字符

#P\.C3\.A1gina-aleatoria { }

你也可以尝试属性 selectors 喜欢

li[id="P.C3.A1gina-aleatoria"] {}

勾选这个fiddle

一般来说,您可以使用反斜杠来转义在 CSS 中已经有意义的字符(如 ssilas777 所示)。点就是这样一个字符,因此需要转义:

#P\.C3\.A1gina-aleatoria { }

如果您想在 CSS 中使用其他非标准特殊字符(例如 á),您通常可以在代码中不转义地使用它们。

#Página-aleatoria

有关如何转义 CSS 中其他字符的完整说明,请参见此处: https://mathiasbynens.be/notes/css-escapes