Namespace-ы CSS нативного rich-текста
Внутренние XHTML-стилевые листы поддерживают объявления namespace CSS и квалифицированные селекторы элементов и атрибутов через существующий нативный rich-text-декодер
<body xmlns="http://www.w3.org/1999/xhtml" xmlns:meta="urn:review">
<style>
@namespace h "http://www.w3.org/1999/xhtml";
@namespace review "urn:review";
h|span[review|status="ready"] { color: #204080; font-weight: bold }
</style>
<p><span meta:status="ready">Approved</span></p>
</body>
Префиксы CSS идентифицируют URI namespace-ов независимо от XML-префиксов, поэтому review|status в примере совпадает с meta:status, потому что оба префикса разрешаются в urn:review
Имена префиксов чувствительны к регистру и принимают обычные экранирования идентификаторов CSS; значения URI namespace-ов принимают строки в кавычках и синтаксис url() в кавычках или без
Комментарии внутри незакавыченного токена url остаются литеральными символами URI; пробел вокруг незакавыченного URI исключается из значения
Последнее валидное объявление префикса выигрывает внутри своего style-элемента; последнее default-объявление выигрывает независимо, и привязки не просачиваются в другой style-элемент
Размещайте объявления перед стилевыми правилами и распознаваемыми at-правилами, не являющимися import; неизвестное игнорируемое at-правило не закрывает область объявлений
Квалифицированные имена и namespace-ы по умолчанию
h|span совпадает с локальным именем span в URI, объявленном для h, *|span принимает любой namespace, а |span требует отсутствия namespace
h|* совпадает с любым именем элемента в объявленном URI; декодер продолжает потреблять существующий профиль поддерживаемых XHTML-элементов
Default-объявление вроде @namespace "urn:review"; ограничивает неквалифицированные селекторы элементов и обычные соединения с неявным universal-селектором
Пустой default URI выбирает элементы без namespace; литеральный URI "*" — это обычный URI и отличается от wildcard-префикса в *|span
Селекторы атрибутов поддерживают объявленные, wildcard- и явные пустые префиксы; атрибуты без префикса остаются вне namespace независимо от namespace элементов по умолчанию
Объявления namespace XML не считаются обычными атрибутами; разрешение namespace следует собственной области элемента атрибута и уважает локальное затенение префиксов, включая встроенный префикс xml
Функциональные селекторы
Соединение субъекта внутри :is(), :where() и :not() опускает ограничение namespace по умолчанию, когда у него нет явного type- или universal-селектора
Явный universal-селектор сохраняет это ограничение; предшествующие соединения предков, относительные аргументы :has() и фильтры of позиционных селекторов сохраняют обычное сопоставление namespace
Необъявленный CSS-префикс делает его селектор недействительным; снисходительные списки is/where могут сохранить другие валидные ветви, тогда как строгие группы селекторов сохраняют существующие правила недействительности целой группы
Сохранённый вывод и пределы ресурсов
Вычисленные стили питают сохранённый RV и фактические внешние виды виджетов через нативные Pascal-колбэки, задания Windows и V1, а также колбэки Linux JSON и V1
Существующие правила importance, специфичности, порядка в источнике и наследования свойств продолжают применяться после сопоставления namespace
Хранилище объявлений namespace разделяет MaxNodes, сканирование namespace разделяет MaxTotalCodeUnits, а унаследованный поиск namespace атрибутов списывает ограниченную работу сопоставления и сканирования
Отмена и сбои бюджета сохраняют предыдущий вывод декодера и зафиксированное состояние импорта; вызывающие могут повторить с исходным входом и обычными пределами
Внешние стилевые листы, условные media-правила, дополнительные псевдоклассы состояния и явные корни scoping, таблицы и общая CSS-раскладка остаются активной работой
Стилевые листы нативного rich-текста · Нативный обмен данными форм