Как ссылаться на идентификатор со специальными символами в CSS

Я работаю над оболочкой MediaWiki, которая будет выпущена для всеобщего использования бесплатно, но есть кое-что, что мешает мне завершить проект. Здесь проблема.

Существует список, который динамически генерируется MediaWiki (не скином, поэтому я не могу это контролировать), и он назначает каждому <li> и идентификатор равен имени страницы, которую он представляет. Теперь языки, отличные от английского, имеют специальные символы, которые могут отображаться в заголовках этих страниц, например "Página Aleatoria". Я вижу, что для этой страницы установлен идентификатор, заменяющий акцентированный символ для некоторого кода, что-то вроде этого <li id="P.C3.A1gina-aleatoria">,

Теперь вопрос в том, как мне обратиться к этому идентификатору в CSS? я пытался #P.C3.A1gina-aleatoria, #página-aleatoria а также #pagina-aleatoria но ни один из тех, кажется, не работает.

Есть идеи? Заранее спасибо!

2 ответа

Решение

Попробуйте это, вы можете использовать\"экранировать специальные символы в CSS, как и другие языки

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

Также вы можете попробовать атрибуты селекторов, как

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

Проверьте эту скрипку

Вообще говоря, вы можете использовать обратную косую черту для экранирования символа, который уже имеет значение в CSS (как демонстрирует ssilas777). Точка является одним из таких символов, поэтому ее необходимо экранировать:

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

Если вы хотите использовать другие нестандартные специальные символы (например, á) в CSS, вы можете просто использовать их в коде без экранирования.

#Página-aleatoria

Полное объяснение того, как избежать других символов в CSS, можно найти здесь: https://mathiasbynens.be/notes/css-escapes

Другие вопросы по тегам