在CSS中使用方括号

问题描述

| 我正在使用付款服务,该服务会在我制作的模板中生成一堆代码。问题是,在命名某些div时,它们使用方括号\“()\”。这给我带来了一个问题,因为我必须设置所有生成的div的样式,而CSS不喜欢使用方括号命名的div。 他们的代码
<div id=\"wwctrl_paytypelogo_AMEX\">
<div id=\"wwctrl_paytypelogo_AMEX(SE)\">
<div id=\"wwctrl_paytypelogo_AMEX(DK)\">
我的CSS:
#wwctrl_paytypeLink_MTRO button { background: url(images/icon_pay_maestro.png) 265px 50% no-repeat; }
#wwctrl_paytypeLink_AMEX button,#wwctrl_paytypeLink_AMEX(SE) button,#wwctrl_paytypeLink_AMEX(DK) button { background: url(images/icon_pay_amex.png) 265px 50% no-repeat; }
我可以做些什么来将CSS应用于使用()命名的div?     

解决方法

主要问题在于,“ 2”括号“ 3”不是在ID属性中使用的有效字符。参见规格。 但是,如果您无法更改ID,则始终可以使用反斜杠(
\\
)来使选择器中的括号转义(否则它们将用作特殊的伪类字符):
#wwctrl_paytypeLink_AMEX\\(SE\\) button,#wwctrl_paytypeLink_AMEX\\(DK\\) button { background: url(images/icon_pay_amex.png) 265px 50% no-repeat; }
    ,()字符对于HTML ID属性无效。 HTML中id属性的有效值是什么? 您需要使用其他方式来更改字幕字符,或将其完全删除。我建议您阅读该问题的最高评分答案,因为还有其他一些字符虽然有效,但仍然可能导致问题。