如何在CSS中使用特殊字符引用选择器

jjjwad0x  于 2023-05-02  发布在  其他
关注(0)|答案(1)|浏览(155)

我正在尝试使用CSS编辑器编辑Steam Deck虚拟键盘。我可以更改一些单独的键,但不能更改选择器中包含特殊字符的键。
例如,在原始文件中,“(”键的样式规则为:
.Spectrum .virtualkeyboard_KeyboardKey_2KhPX.KeyTheme_\({color:#ffffff;background-color:#1B6E14}
当我把这一行放到CSS文件中时,它不会把“(”作为选择器的一部分读取,所以我的修改都不会通过。
我试过删除“\”,这对“`”键有效,但对其他键无效。我也试过用十六进制代码28替换“(”。

iecba09b

iecba09b1#

您需要额外的\来转义CSS类名中的非标准字符。
如果你想完全确定,你可以使用CSS.escape方法来找出可以放在CSS样式表中的类名,例如:CSS.escape('KeyTheme_({color:#ffffff;background-color:#1B6E14})')(我还在下面的示例中添加了JavaScript来展示此功能)

// Just to showcase the functionality of CSS.escape, doesn't need to be included in your code
console.log(CSS.escape('KeyTheme_({color:#ffffff;background-color:#1B6E14})'));
.KeyTheme_\(\{color\:\#ffffff\;background-color\:\#1B6E14\}\) {
  color: red;
}
<div class="KeyTheme_({color:#ffffff;background-color:#1B6E14})">Hello World</div>

相关问题