Использование скобок () в CSS - PullRequest
2 голосов
/ 14 апреля 2011

Я работаю с платежным сервисом, который генерирует кучу кода в шаблонах, которые я делаю. Дело в том, что они используют скобки "()", когда присваивают имена своим элементам 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 ]

5 голосов
/ 14 апреля 2011

Основная проблема заключается в том, что ( скобки ) не являются допустимыми символами для использования в атрибутах идентификатора.См. спецификацию .

Но если вы не можете изменить идентификаторы, вы всегда можете использовать обратную косую черту (\), чтобы убрать скобки в селекторах (так как в противном случае они функционируют как специальные)символы псевдокласса):

#wwctrl_paytypeLink_AMEX\(SE\) button,
#wwctrl_paytypeLink_AMEX\(DK\) button { background: url(images/icon_pay_amex.png) 265px 50% no-repeat; }
1 голос
/ 14 апреля 2011

Символы () недопустимы для атрибутов HTML ID.

Какие допустимые значения для атрибута id в HTML?

Вам нужно заменить персонажей-крэчков чем-то другим или удалить их полностью. Я бы посоветовал прочитать ответ на этот вопрос с самым высоким рейтингом, поскольку есть и другие символы, которые, хотя и действительны, могут привести к проблемам.

...