Namespaces CSS nativos de rich text
Folhas de estilo XHTML internas suportam declarações CSS de namespaces e seletores qualificados de elementos e de atributos através do descodificador nativo existente de 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>
Prefixos CSS identificam URIs de namespaces independentemente de prefixos XML, pelo que review|status no exemplo corresponde a meta:status porque ambos os prefixos resolvem para urn:review
Os nomes de prefixos são sensíveis a maiúsculas e minúsculas e aceitam escapes ordinários de identificadores CSS; os valores de URIs de namespaces aceitam strings entre aspas e sintaxe url() com ou sem aspas
Comentários dentro de um token url sem aspas permanecem carateres literais de URIs; o whitespace em torno do URI sem aspas é excluído do valor
A última declaração válida de um prefixo vence dentro do elemento style dela; a última declaração default vence de forma independente, e bindings não vazam para outro elemento style
Coloque as declarações antes de regras de estilos e de at-rules reconhecidos que não sejam de importação; um at-rule desconhecido ignorado não fecha a região de declarações
Nomes qualificados e namespaces default
h|span corresponde a um nome local span no URI declarado para h, *|span aceita qualquer namespace, e |span exige a ausência de namespace
h|* corresponde a qualquer nome de elemento no URI declarado; o descodificador continua a consumir o perfil existente suportado de elementos XHTML
Uma declaração default como @namespace "urn:review"; restringe seletores de elementos não qualificados e compostos ordinários com um seletor universal implícito
Um URI default vazio seleciona elementos sem namespace; o URI literal "*" é um URI ordinário e é distinto do prefixo wildcard em *|span
Seletores de atributos suportam prefixos declarados, prefixos wildcard e prefixos vazios explícitos; atributos sem prefixo permanecem sem namespace independentemente do namespace default de elementos
Declarações XML de namespaces não contam como atributos ordinários; a resolução de namespaces segue o âmbito de elementos do próprio atributo e respeita o sombreamento local de prefixos, incluindo o prefixo incorporado xml
Seletores funcionais
O composto de sujeito dentro de :is(), :where() e :not() omite a restrição de namespace default quando não tem seletor explícito de tipos nem universal
Um seletor universal explícito mantém essa restrição; compostos anteriores de ancestrais, argumentos relativos de :has() e filtros of em seletores posicionais mantêm a correspondência ordinária de namespaces
Um prefixo CSS não declarado invalida o seletor dele; listas indulgentes is/where podem manter outros ramos válidos, enquanto grupos estritos de seletores mantêm as regras existentes deles de invalidação do grupo inteiro
Saída guardada e limites de recursos
Estilos calculados alimentam RV guardado e aparências reais de widgets através de Pascal nativo, trabalhos e callbacks V1 de Windows, e JSON e callbacks V1 de Linux
As regras existentes de importância, especificidade, ordenação de fontes e herança de propriedades continuam a aplicar-se após a correspondência de namespaces
O armazenamento de declarações de namespaces partilha MaxNodes, a varredura de namespaces partilha MaxTotalCodeUnits, e a consulta herdada de namespaces de atributos cobra trabalho delimitado de correspondências e de varreduras
Cancelamento e falhas de orçamentos preservam a saída anterior do descodificador e o estado confirmado de importações; quem chama pode repetir com a entrada original e os limites normais
Folhas de estilo externas, regras condicionais de media, pseudo classes mais abrangentes de estado e de âmbito, tabelas e layout CSS geral continuam a ser trabalho ativo
Folhas de estilo nativas de rich text · Intercâmbio nativo de dados de formulários