Namespaces CSS de rich text nativo

Los style sheets XHTML internos soportan declaraciones de namespace CSS y selectores de elementos y atributos calificados a través del decoder nativo de rich text existente

<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>

Los prefijos CSS identifican URIs de namespace independientemente de los prefijos XML, así que review|status en el ejemplo coincide con meta:status porque ambos prefijos resuelven a urn:review

Los nombres de prefijo distinguen mayúsculas y aceptan escapes ordinarios de identificadores CSS; los valores de URI de namespace aceptan cadenas entre comillas y sintaxis url() entre comillas o sin comillas

Los comentarios dentro de un token url sin comillas siguen siendo caracteres literales del URI; el espacio en blanco alrededor del URI sin comillas se excluye del valor

La última declaración válida de un prefijo gana dentro de su elemento style; la última declaración default gana independientemente, y los bindings no se filtran a otro elemento style

Coloque las declaraciones antes de las reglas de estilo y de los at-rules reconocidos que no son import; un at-rule desconocido ignorado no cierra la región de declaraciones

Nombres calificados y namespaces default

h|span coincide con un nombre local span en el URI declarado para h, *|span acepta cualquier namespace, y |span exige ausencia de namespace

h|* coincide con cualquier nombre de elemento en el URI declarado; el decoder sigue consumiendo el perfil existente de elementos XHTML soportados

Una declaración default como @namespace "urn:review"; restringe los selectores de elementos no calificados y los compuestos ordinarios con un universal selector implícito

Un URI default vacío selecciona elementos sin namespace; el URI literal "*" es un URI ordinario y se distingue del prefijo comodín de *|span

Los selectores de atributos soportan prefijos declarados, prefijos comodín y prefijos vacíos explícitos; los atributos sin prefijo permanecen sin namespace independientemente del namespace de elemento default

Las declaraciones de namespace XML no cuentan como atributos ordinarios; la resolución de namespaces sigue el ámbito del propio elemento del atributo y respeta el sombreado local de prefijos, incluido el prefijo xml incorporado

Selectores funcionales

El compuesto sujeto dentro de :is(), :where() y :not() omite la restricción de namespace default cuando no tiene type ni universal selector explícito

Un universal selector explícito retiene esa restricción; los compuestos ancestros previos, los argumentos relativos de :has() y los filtros of en selectores posicionales retienen el matching de namespaces ordinario

Un prefijo CSS no declarado invalida su selector; las listas tolerantes is/where pueden retener otras ramas válidas, mientras que los grupos de selectores estrictos retienen sus reglas existentes de invalidación del grupo completo

Salida guardada y límites de recursos

Los estilos computados alimentan el RV guardado y las apariencias reales de widgets a través de callbacks Pascal nativos, jobs Windows y V1, y callbacks Linux JSON y V1

Las reglas existentes de importance, especificidad, orden de fuente y herencia de propiedades siguen aplicándose después del matching de namespaces

El almacenamiento de declaraciones de namespace comparte MaxNodes, el escaneo de namespaces comparte MaxTotalCodeUnits, y la búsqueda heredada de namespaces de atributos cobra trabajo de matching y escaneo acotado

La cancelación y las fallas de presupuesto preservan la salida previa del decoder y el estado de import confirmado; los callers pueden reintentar con la entrada original y los límites normales

Los style sheets externos, las reglas media condicionales, pseudo clases de estado adicionales y raíces de scoping explícitas, tablas y layout CSS general siguen siendo trabajo activo

Style sheets de rich text nativo · Intercambio de form-data nativo