Namespaces CSS de rich text nativo
Las style sheets XHTML internas soportan declaraciones de namespace CSS y selectores de elementos y atributos cualificados a través del decodificador 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 de forma independiente de los prefijos XML, así que review|status del ejemplo empareja meta:status porque ambos prefijos resuelven a urn:review
Los nombres de prefijo distinguen mayúsculas/minúsculas y aceptan escapes ordinarios de identificadores CSS; los valores de URI de namespace aceptan strings entre comillas y sintaxis url() entre comillas o sin ellas
Los comentarios dentro de un token url sin comillas permanecen como caracteres literales del URI; el whitespace que rodea al URI sin comillas queda excluido del valor
La última declaración válida de un prefijo gana dentro de su style element; la última declaración por defecto gana de forma independiente, y los enlaces no se filtran a otro style element
Coloque las declaraciones antes de las reglas de estilo y de los at-rules reconocidos que no sean import; un at-rule desconocido e ignorado no cierra la región de declaraciones
Nombres cualificados y namespaces por defecto
h|span empareja un nombre local span en el URI declarado para h, *|span acepta cualquier namespace, y |span exige que no haya namespace
h|* empareja cualquier nombre de elemento en el URI declarado; el decodificador sigue consumiendo el perfil de elementos XHTML soportado existente
Una declaración por defecto como @namespace "urn:review"; restringe los selectores de elementos sin cualificar y los compuestos ordinarios con selector universal implícito
Un URI por defecto vacío selecciona elementos sin namespace; el URI literal "*" es un URI ordinario y es distinto 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 sin importar el namespace de elementos por defecto
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 shadowing 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 por defecto cuando carece de selector de tipo o universal explícito
Un selector universal explícito retiene esa restricción; los compuestos de ancestros previos, los argumentos relativos de :has() y los filtros of en selectores posicionales retienen el emparejamiento ordinario de namespaces
Un prefijo CSS no declarado invalida su selector; las listas forgiving is/where pueden retener otras ramas válidas, mientras que los grupos de selectores estrictos retienen sus reglas existentes de invalidación de todo el grupo
Salida guardada y límites de recursos
Los estilos calculados alimentan el RV guardado y las appearances reales de widgets a través de Pascal nativo, jobs de Windows y callbacks V1, y callbacks JSON y V1 de Linux
Las reglas existentes de importancia, especificidad, orden de fuente y herencia de propiedades siguen aplicándose tras el emparejamiento de namespaces
El almacenamiento de declaraciones de namespace comparte MaxNodes, el escaneo de namespaces comparte MaxTotalCodeUnits, y la búsqueda de namespaces de atributos heredados cobra trabajo acotado de emparejamiento y escaneo
La cancelación y los fallos de presupuesto preservan la salida previa del decodificador y el estado de importación confirmado; los llamadores pueden reintentar con la entrada original y los límites normales
Las style sheets externas, las reglas de medios condicionales, las pseudo classes de estado adicionales y las scoping roots explícitas, las tablas y el layout CSS general siguen siendo trabajo activo
Style sheets de rich text nativo · Intercambio nativo de form data