Атрибуты с префиксом в CSS. Совсем нельзя?
У атрибутов элементов может быть префикс
Типа <time ip:alive> Js нормально отрабатывает (пишет, читает) такие атрибуты А в CSS никак time[ip:alive] { .... } Никак не отрабатывает. Аналогично querySelector('time[ip:alive]') орет матом Никак нельзя? Или какой то особый синтаксис для этого есть? |
Цитата:
|
Просто двоеточие нужно экранировать:
<head> <style> time[ip\:alive] { color: green; } </style> </head> <body> <time ip:alive> Js нормально отрабатывает (пишет, читает) такие атрибуты <br>А в CSS никак </time> <script> console.log(document.querySelector('time[ip\\:alive]').attributes); </script> </body> |
Цитата:
|
Вау! Здорово!
Мне попадалась такая конструкция тут https://oreillymedia.github.io/Using...amespaces.html Но там же все больше пишут про конструкцию вида [ip|alive], которая почему то ни фига не работает. На mdn тоже только какие то не внятные слова про | находил https://developer.mozilla.org/ru/doc...CSS/@namespace |
voraa,
Ну это опять XHTML. |
Цитата:
|
Цитата:
В html с <!DOCTYPE html> работает, и хорошо. |
Цитата:
|
Цитата:
|
voraa,
Цитата:
Цитата:
|
Ну хорошо, пускай это не префикс, а просто имя такое. Разрешенное!
Цитата:
Важно было, как задать это в CSS. Экранировка доставляет удовольствие. Если просто в CSS так time[ip\:alive] { color: green; } В js так document.querySelector('time[ip\\:alive]') А в js в строке, которую потом загонять в элемент style так const tymestyle =` time[ip\\\\:alive] { color: green; }`; |
Там любой атрибут (не обязательно с : ), который не предназначен для данного тега вызывает ошибку.
|
voraa, пробовал такие?
<p data-test='пример'></p> |
Цитата:
Но не все от меня зависит. Заказчики уже много лет используют нестандартный атрибут href у <cite> И ничего, живут как то. Сейчас идет просто некоторая доработка и расширение (с упрощением) проекта. Обсуждаются разные варианты. Дело в том, что там большая часть документов вручную переводится из Ворда или png в html. Как они скажут, что им проще, так и будет. |
Это напоминает старый принцип - зачем просто, когда можно сложно.
|
Цитата:
Вот то же пресловутый <time>, с которым я сюда прибежал. Конечно нужно писать так <time class="alive" data-href="url..."></time> Но ктото предложил, что может быть можно и так. Так проще <time ip:alive ip:href="url..."></time> Ну хочется им, почему не попробовать, если они считают, что так проще. |
Цитата:
Цитата:
Вы же так не убьетесь! :D Т.ч. пусть придумают что-то позаковыристее, чтобы у браузеров вообще крышу сносило! |
voraa, твоя задача убедить их что проще - по-нормальному, потому что если новый сотрудник придёт ему не придётся разбираться в магии.
Если хочется универсальности, так тоже боль-мене нормально: <time data-alive data-href="url..."></time> Если хочется разных префиксов, не проблема: <time data-ip-alive data-ip-href="url..."></time> |
Часовой пояс GMT +3, время: 01:45. |