问题描述
|
我正在使用付款服务,该服务会在我制作的模板中生成一堆代码。问题是,在命名某些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属性的有效值是什么?
您需要使用其他方式来更改字幕字符,或将其完全删除。我建议您阅读该问题的最高评分答案,因为还有其他一些字符虽然有效,但仍然可能导致问题。