Native rich-text CSS namespaces
Interne XHTML style sheets understøtter CSS namespace-erklæringer og kvalificerede element- og attributselektorer gennem den eksisterende native rich-text-dekoder
<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-præfikser identificerer namespace-URI'er uafhængigt af XML-præfikser, så review|status i eksemplet matcher meta:status, fordi begge præfikser opløses til urn:review
Præfiksenavne er case-sensitive og accepterer almindelige CSS identifikator-escapes; namespace-URI-værdier accepterer quotede strenge og quoted eller uquoted url()-syntaks
Kommentarer inde i en uquoted url-token forbliver literal URI-tegn; whitespace omkring den uquotede URI ekskluderes fra værdien
Den sidste gyldige erklæring for et præfiks vinder inden for sit style-element; den sidste default-erklæring vinder uafhængigt, og bindinger lækker ikke ind i et andet style-element
Placér erklæringer før style-regler og genkendte ikke-import at-rules; en ukendt ignoreret at-rule lukker ikke erklæringsregionen
Kvalificerede navne og default namespaces
h|span matcher et lokalt span-navn i den URI, der er deklareret for h, *|span accepterer ethvert namespace, og |span kræver intet namespace
h|* matcher ethvert elementnavn i den deklarerede URI; dekoderen fortsætter med at forbruge den eksisterende understøttede XHTML element-profil
En default-erklæring som @namespace "urn:review"; begrænser ukvalificerede elementselektorer og almindelige compounds med implicit universel selektor
En tom default-URI vælger elementer uden namespace; den literal URI "*" er en almindelig URI og er distinkt fra wildcard-præfikset i *|span
Attributselektorer understøtter deklarerede præfikser, wildcard-præfikser og eksplicit tomme præfikser; upræfiksede attributter forbliver i intet namespace uanset default element-namespace
XML namespace-erklæringer tæller ikke som almindelige attributter; namespace-opløsning følger attributtens eget element-scope og respekterer lokal præfiks-skygning, inklusive det indbyggede xml-præfiks
Funktionelle selektorer
Subjekt-compound inde i :is(), :where() og :not() udelader default namespace-begrænsningen, når den ikke har en eksplicit type- eller universel selektor
En eksplicit universel selektor beholder begrænsningen; tidligere forfader-compounds, relative :has()-argumenter og of-filtre i positionelle selektorer beholder almindelig namespace-matching
Et udeklareret CSS-præfiks invaliderer sin selektor; forgiving is/where-lister kan beholde andre gyldige grene, mens strenge selektorgrupper beholder deres eksisterende hel-gruppe-invalidationsregler
Gemt output og ressourcelgrænser
Beregnede styles føder gemt RV og rigtige widget-appearances gennem native Pascal, Windows jobs og V1 callbacks samt Linux JSON og V1 callbacks
Eksisterende important-, specificitets-, kilderækkefølge- og property-nedarvningsregler fortsætter med at gælde efter namespace-matching
Namespace-erklæringslager deler MaxNodes, namespace-scanning deler MaxTotalCodeUnits, og nedarvet attribut namespace-opslag debiterer afgrænset matching- og scan-arbejde
Cancellation- og budgetfejl bevarer tidligere dekoder-output og committed importtilstand; kaldere kan retriere med originalt input og normale grænser
Eksterne style sheets, betingede media-regler, yderligere tilstandspseudo-klasser og eksplicitte scoping-rødder, tabeller og generelt CSS-layout forbliver aktivt arbejde
Native rich-text style sheets · Native form-data interchange