Атрибуты с префиксом в 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 |
Цитата:
|
Цитата:
В 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, время: 17:31. |