REFERENCE
CSS properties
673 entries · Page 1 of 5
%Usable only in properties that accept the value type. The consuming property determines the percentage basis. Physical units use 96 CSS px/in.
--kui-popup-bgRead from the select element's computed customProperties to override PopupTheme; affects only KUI dropdown menus and is not a standard property.
--kui-popup-borderRead from the select element's computed customProperties to override PopupTheme; affects only KUI dropdown menus and is not a standard property.
--kui-popup-disabled-fgRead from the select element's computed customProperties to override PopupTheme; affects only KUI dropdown menus and is not a standard property.
--kui-popup-fgRead from the select element's computed customProperties to override PopupTheme; affects only KUI dropdown menus and is not a standard property.
--kui-popup-hover-bgRead from the select element's computed customProperties to override PopupTheme; affects only KUI dropdown menus and is not a standard property.
--kui-popup-hover-fgRead from the select element's computed customProperties to override PopupTheme; affects only KUI dropdown menus and is not a standard property.
--kui-popup-item-heightRead from the select element's computed customProperties to override PopupTheme; affects only KUI dropdown menus. Lengths use only the strtof prefix and must be greater than zero; general length units and calc conversion are not implemented.
--kui-popup-radiusRead from the select element's computed customProperties to override PopupTheme; affects only KUI dropdown menus. Lengths use only the strtof prefix and must be greater than zero; general length units and calc conversion are not implemented.
--kui-popup-selected-fgRead from the select element's computed customProperties to override PopupTheme; affects only KUI dropdown menus and is not a standard property.
--kui-popup-separatorRead from the select element's computed customProperties to override PopupTheme; affects only KUI dropdown menus and is not a standard property.
--kui-tooltip-bgOverrides TooltipTheme using inherited variables from the tooltip anchor, or html when there is no anchor; affects only KUI tooltips.
--kui-tooltip-borderOverrides TooltipTheme using inherited variables from the tooltip anchor, or html when there is no anchor; affects only KUI tooltips.
--kui-tooltip-fgOverrides TooltipTheme using inherited variables from the tooltip anchor, or html when there is no anchor; affects only KUI tooltips.
--kui-tooltip-radiusReads inherited variables from the tooltip anchor, or html when there is no anchor; affects only PopupManager tooltips. Lengths use the strtof prefix, may be zero, and do not evaluate em, %, or calc conversions.
-kui-app-regionConsumed only by hit testing for frameless Windows windows; macOS and Linux currently have no corresponding implementation.
-kui-scrollbar-overlayoverlay does not reserve scrollbar width; auto reserves space. This is a KUI-specific property. KUI extension: overlay scrollbars cover content; otherwise scrollbars occupy layout space.
-moz-osx-font-smoothingThe built-in registry, logical mapping, declaration expansion, and apply dispatch currently provide no implementation path that uses this property. Its appearance in examples, storage in CSSOM, or support for the corresponding standard property does not prove this name takes effect.
-webkit-animation-delayThe built-in registry, logical mapping, declaration expansion, and apply dispatch currently provide no implementation path that uses this property. Its appearance in examples, storage in CSSOM, or support for the corresponding standard property does not prove this name takes effect.
-webkit-animation-directionThe built-in registry, logical mapping, declaration expansion, and apply dispatch currently provide no implementation path that uses this property. Its appearance in examples, storage in CSSOM, or support for the corresponding standard property does not prove this name takes effect.
-webkit-animation-durationThe built-in registry, logical mapping, declaration expansion, and apply dispatch currently provide no implementation path that uses this property. Its appearance in examples, storage in CSSOM, or support for the corresponding standard property does not prove this name takes effect.
-webkit-animation-iteration-countThe built-in registry, logical mapping, declaration expansion, and apply dispatch currently provide no implementation path that uses this property. Its appearance in examples, storage in CSSOM, or support for the corresponding standard property does not prove this name takes effect.
-webkit-animation-nameThe built-in registry, logical mapping, declaration expansion, and apply dispatch currently provide no implementation path that uses this property. Its appearance in examples, storage in CSSOM, or support for the corresponding standard property does not prove this name takes effect.
-webkit-animation-timing-functionThe built-in registry, logical mapping, declaration expansion, and apply dispatch currently provide no implementation path that uses this property. Its appearance in examples, storage in CSSOM, or support for the corresponding standard property does not prove this name takes effect.
-webkit-app-regionConsumed only by hit testing for frameless Windows windows; macOS and Linux currently have no corresponding implementation.
-webkit-appearanceOnly none changes the native control painting. Other compatibility keywords retain their computed values but are painted as auto; they do not switch to the named appearance or provide a dedicated base-select UI.
-webkit-background-cliptext uses glyph and decoration masks. The prefixed name is an alias for the same path.
-webkit-box-alignUsed only by compatibility boxes authored with display:-webkit-box or display:-webkit-inline-box. Its cross-axis value is independent of modern align-items, and its items ignore modern align-self. Invalid values preserve the previous value.
-webkit-box-directionThe corresponding case in style_apply_misc returns true unconditionally without writing any style field. Registration, successful parsing, or inherit tests do not establish that reverse layout is implemented.
-webkit-box-orientOnly stores a vertical/block-axis boolean for legacy clamping. This is not a complete implementation of the old WebKit box layout model.
-webkit-box-packShares the empty implementation branch with -webkit-box-direction and returns true unconditionally. Does not change justify-content or any other main-axis distribution field.
-webkit-font-smoothingThe built-in registry, logical mapping, declaration expansion, and apply dispatch currently provide no implementation path that uses this property. Its appearance in examples, storage in CSSOM, or support for the corresponding standard property does not prove this name takes effect.
-webkit-image-set()Like image-set(), it is collapsed only in the background selection path, with a fixed 1dppx target; resources are not reselected dynamically for DPR changes. Parsing happens before the entire background value is split into layers, and a source is selected only if the whole value starts with image-set. It does not recursively expand image-set within arbitrary layers; trailing shorthand and multilayer text are also limited.
-webkit-line-clampLegacy mode requires an authored display:-webkit-box or -webkit-inline-box together with -webkit-box-orient:vertical/block-axis. Uses an automatic ellipsis marker.
-webkit-maskThe basic shorthand only extracts the image source; it does not expand the complete mask grammar.
-webkit-mask-imageThe image path is available. Splitting at bare commas limits gradients and data URIs containing commas. The backend only handles linear/radial gradients; all images are scaled to the box.
-webkit-mask-positionStorage only: applyMask currently does not read size/position/repeat/origin/clip/composite, so these values cannot be claimed to produce an effect.
-webkit-mask-repeatStorage only: applyMask currently does not read size/position/repeat/origin/clip/composite, so these values cannot be claimed to produce an effect.
-webkit-mask-sizeStorage only: applyMask currently does not read size/position/repeat/origin/clip/composite, so these values cannot be claimed to produce an effect.
-webkit-text-fill-colorStores a separate optional color; actual body text drawing uses usedTextFillColor.
-webkit-transformThe built-in registry, logical mapping, declaration expansion, and apply dispatch currently provide no implementation path that uses this property. Its appearance in examples, storage in CSSOM, or support for the corresponding standard property does not prove this name takes effect.
-webkit-transition-delayThe built-in registry, logical mapping, declaration expansion, and apply dispatch currently provide no implementation path that uses this property. Its appearance in examples, storage in CSSOM, or support for the corresponding standard property does not prove this name takes effect.
-webkit-transition-durationThe built-in registry, logical mapping, declaration expansion, and apply dispatch currently provide no implementation path that uses this property. Its appearance in examples, storage in CSSOM, or support for the corresponding standard property does not prove this name takes effect.
::afterGenerates a content box after the element's content; supports the same generated-content subset as before.
::backdropDedicated top-layer backdrop painting; depends on dialog/top-layer support.
::beforeGenerates a content box before the element's content; supported content types, box properties, and layout properties are limited by the current generated-content implementation.
::columnRecognized and bucketed; selector(::column) returns true. No supported properties consume it, and it produces no CSS styling or painting.
::details-contentThe pseudo-element wrapping details content, including its before/after pseudo-elements. Subject to the details open state and special box-tree constraints.
::first-letterUses the first-letter text/floating-box path. Applies only to the first letter of eligible block containers.
::first-lineUses a dedicated first-line text styling path. Does not provide arbitrary property support or all complex fragmentation behavior.
::markerHas an independent marker cascade that consumes content, fonts, color, letter-spacing and word-spacing. Does not accept arbitrary normal-box properties.
::picker-iconDedicated measurement and painting styles for the select control icon. Does not provide uniform customization of all input pickers.
::placeholderThe control paints the placeholder text. Arbitrary box properties do not all take effect.
::selectionSelection painting uses dedicated parsed results, mainly color, background-color and text-shadow. Does not implement the full highlight inheritance standard.
:activeMatches the activeElement ancestor chain, including the element itself and its ancestors; a forced pseudo state is also available.
:any-linkAn a or area element with href.
:autofillNo matchPseudoClass branch; unknown pseudo-classes return false.
:checkedHTMLInputElement uses the live isChecked() state; other elements are checked only for a checked attribute. Unified option:selected behavior is not implemented.
:defaultMatches button and input elements with type=submit or no type. The complete semantics for a form's first default submit control and default option are not implemented.
:definedNo matchPseudoClass branch; unknown pseudo-classes return false.
:dirComputed from the HTML dir attribute, ancestors, dir=auto, and the bdi first-strong rule, rather than CSS direction; tel, url, and email use LTR.
:disabledChecks only for the presence of the disabled attribute; inherited disabled states from fieldset, option, and similar elements are not fully modeled.
:emptyIgnores comments and whitespace-only Text nodes; nonempty text or an element child prevents a match.
:enabledChecks only that the disabled attribute is absent; matching is not limited to form elements that can be enabled.
:first-childThe first element under the same parent.
:first-of-typeThe first element with the same localName under the same parent.
:focusMatches Document::focusedElement or a forced focus state.
:focus-visibleCurrently behaves exactly like :focus; there is no keyboard/pointer input-modality heuristic.
:focus-withinThe focused element itself and its ancestor chain.
:fullscreenNo matchPseudoClass branch; unknown pseudo-classes return false.
:hasMatches descendants, direct children, adjacent following siblings, or arbitrary following siblings; nested :has is forbidden. The implementation extracts >, +, or ~ only once from the start of the entire argument, rather than implementing a complete relative-selector anchoring model for each branch.
:hostNo matchPseudoClass branch; unknown pseudo-classes return false.
:host-contextNo matchPseudoClass branch; unknown pseudo-classes return false.
:hoverMatches the hoveredElement ancestor chain, including the element itself and its ancestors; a forced pseudo state is also available.
:in-rangeNo matchPseudoClass branch; unknown pseudo-classes return false.
:indeterminateChecks only the indeterminate attribute; live checkbox indeterminate, progress, and radio states are not fully implemented.
:invalidDelegates to the limited finiteConstraintValidity implementation; pattern uses only a non-backtracking byte subset with a work budget.
:isMatches any argument branch and uses the highest argument specificity; an invalid branch containing nested :has may be discarded tolerantly.
:langInherits from the nearest lang or xml:lang; accepts comma-separated ident/string lists and RFC 4647 extended language ranges.
:last-childThe last element under the same parent.
:last-of-typeThe last element with the same localName under the same parent.
:linkMatches only a elements with href; area is not included in the :link branch.
:modalMatches a dialog in the Document top layer.
:notSupports selector lists and complex selectors. The parser is error-tolerant; full Selectors 4 rejection semantics for invalid branches are not guaranteed.
:nth-childAccepts An+B, odd/even, and integers; supports of selector-list and counts only matching elements.
:nth-last-childLike nth-child, counting from the end; supports of selector-list.
:nth-last-of-typeApplies An+B in reverse order to elements of the same type; does not accept of S.
:nth-of-typeAccepts An+B, odd/even, and integers; counts elements of the same type and does not accept of S.
:only-childExactly one element under the same parent.
:only-of-typeExactly one element with the same localName under the same parent.
:openMatches only details and dialog elements with an open attribute; transient picker states are not exposed.
:optionalAn input, select, or textarea element without a required attribute.
:out-of-rangeNo matchPseudoClass branch; unknown pseudo-classes return false.
:placeholder-shownChecks only that placeholder exists and the value attribute is empty; this is not the complete form placeholder-display state.
:popover-openNo matchPseudoClass branch; unknown pseudo-classes return false.
:read-onlyChecks only the readonly attribute; the full specification semantics for non-editable elements are not implemented.
:read-writeNo matchPseudoClass branch; unknown pseudo-classes return false.
:requiredChecks only for the presence of the required attribute.
:rootMatches Document::documentElement.
:scopeThe matcher actually matches only documentElement; it does not use the element on which Element::querySelector is called as the scoping root.
:stateNo matchPseudoClass branch; unknown pseudo-classes return false.
:targetMatches id against Document::targetElementId; the target must be set by document navigation or the caller.
:user-invalidNo matchPseudoClass branch; unknown pseudo-classes return false.
:user-validNo matchPseudoClass branch; unknown pseudo-classes return false.
:validDelegates to the limited finiteConstraintValidity implementation; Unknown and NotCandidate do not match. This is not a complete HTML ValidityState implementation.
:visitedNo browsing history is recorded, so normal execution always returns false; only DevTools ForcedVisited can make it true.
:whereMatches any argument branch; specificity is zero.
@charsetparseAtRule has no corresponding branch. It skips the entire statement/block and continues with subsequent rules; this does not implement the feature. @charset is also not implemented as a CSS decoding directive.
@containerLimited numeric width/height/min/max conditions. Unit suffixes are stripped to obtain the number; units such as em are not converted. Does not implement style(), scroll-state, range syntax or full and/or/not logic. Traverses all ancestors with the matching name until one matches, rather than implementing the full nearest-eligible-container model. Requires an existing layoutBox.
@counter-styleparseAtRule has no corresponding branch. It skips the entire statement/block and continues with subsequent rules; this does not implement the feature.
@documentparseAtRule has no corresponding branch. It skips the entire statement/block and continues with subsequent rules; this does not implement the feature.
@font-faceWhen a font backend exists, synchronously tries local() and local url() candidates in authored src order. Missing or unsupported candidates continue to fallback. The backend determines font formats. format()/tech() are not used for independent capability selection; a full network webfont lifecycle is not provided.
@font-face ascent-overrideAccepts normal or a nonnegative percentage, passed through for use in face metrics.
@font-face descent-overrideAccepts normal or a nonnegative percentage, passed through for use in face metrics.
@font-face font-displayOnly stored in FontFaceInfo. Document loading does not read it; block/swap/fallback/optional timing is unimplemented.
@font-face font-familyUsed as the CSS family alias for a custom font, with quotes removed.
@font-face font-feature-settingsThe @font-face index does not use this descriptor. Check the element property table separately for the support status of an element property with the same name.
@font-face font-language-overrideThe @font-face index does not use this descriptor. Check the element property table separately for the support status of an element property with the same name.
@font-face font-named-instanceThe @font-face index does not use this descriptor. Check the element property table separately for the support status of an element property with the same name.
@font-face font-stretchThe @font-face index does not use this descriptor. Check the element property table separately for the support status of an element property with the same name.
@font-face font-styleThe @font-face index does not use this descriptor. Check the element property table separately for the support status of an element property with the same name.
@font-face font-variation-settingsThe @font-face index does not use this descriptor. Check the element property table separately for the support status of an element property with the same name.
@font-face font-weightAccepts normal, bold, or a single integer from 1 to 1000. Range descriptors are not implemented.
@font-face line-gap-overrideAccepts normal or a nonnegative percentage, passed to the font face metrics.
@font-face size-adjustAccepts a nonnegative percentage and scales the selected face glyphs and metrics. This differs from the element font-size-adjust property.
@font-face srcSupports ordered local()/url() candidates. Document uses the first candidate that loads successfully.
@font-face unicode-rangeAccepts comma-separated Unicode code points, ranges, and trailing ? wildcards. These participate in code point selection for custom font faces.
@font-feature-valuesparseAtRule has no corresponding branch. It skips the entire statement/block and continues with subsequent rules; this does not implement the feature.
@font-palette-valuesparseAtRule has no corresponding branch. It skips the entire statement/block and continues with subsequent rules; this does not implement the feature.
@importRecursively expands local files, rebases relative URLs, guards against cycles and excessive depth, filters supports conditions and wraps media conditions. Remote URLs are not loaded. The parser has no layer/layer() semantics; leftover text must not be treated as support. The href accepts a direct string or url("local.css"). The import parser does not consume the unquoted Url token from url(local.css), so that form is unreliable.
@import layer()/layerThere is no CSSImportRule layer data or layer assignment. The layer() text is collected into media and usually fails to match as an unknown media type.
@keyframesSupports from/to, multiple percentage offsets and duplicate keyframes. !important declarations in keyframes are ignored. Actual animatable properties are further limited by the animation implementation.
@layerSupports named and anonymous layers, predeclaration lists, first-seen order across stylesheets, priority for normal unlayered declarations, and reversed layer order for important declarations. Maps names to a single global integer. Nested layers have no parent-name concatenation or hierarchy tree, so full sublayer cascading is not guaranteed.
@mediaSupports all/screen/print, not/only, comma-separated OR, and, and limited parenthesized feature:value conditions. Unknown features are ignored. MQ4 range comparisons, conditional OR and full Boolean syntax are unsupported.
@media printDocument PDF export enables printMode; normal operation uses screen. The old test name PrintNeverMatches does not mean printing is permanently unsupported.
@namespaceparseAtRule has no corresponding branch. It skips the entire statement/block and continues with subsequent rules; this does not implement the feature.
@pageUsed for PDF pagination; parses 16 margin-box types. The PDF path determines the actual size, margin, named-page, page-pseudo-class, and margin-content capabilities. These rules do not affect on-screen element styles.
@page @bottom-centerActually painted in PDF. The margin on that page edge must be positive. Each edge has up to three slots. Without explicit sizes, space is divided equally among occupied slots. With explicit sizes, start/center/end slots are anchored and auto slots share the remainder equally. Excess explicit sizes are scaled down proportionally. Painting uses the single @page rule selected for that page. A content declaration is required; a background or border alone cannot activate a box without content. See the corresponding entries for shared font, alignment, decoration, and counter limitations.
@page @bottom-leftActually painted in PDF. The margin on that page edge must be positive. Each edge has up to three slots. Without explicit sizes, space is divided equally among occupied slots. With explicit sizes, start/center/end slots are anchored and auto slots share the remainder equally. Excess explicit sizes are scaled down proportionally. Painting uses the single @page rule selected for that page. A content declaration is required; a background or border alone cannot activate a box without content. See the corresponding entries for shared font, alignment, decoration, and counter limitations.
@page @bottom-left-cornerActually painted in PDF. Corner width comes from the left/right margin and height from the top/bottom margin; both must be positive. Painting uses the single @page rule selected for that page. A content declaration is required; a background or border alone cannot activate a box without content. See the corresponding entries for shared font, alignment, decoration, and counter limitations.
@page @bottom-rightActually painted in PDF. The margin on that page edge must be positive. Each edge has up to three slots. Without explicit sizes, space is divided equally among occupied slots. With explicit sizes, start/center/end slots are anchored and auto slots share the remainder equally. Excess explicit sizes are scaled down proportionally. Painting uses the single @page rule selected for that page. A content declaration is required; a background or border alone cannot activate a box without content. See the corresponding entries for shared font, alignment, decoration, and counter limitations.
@page @bottom-right-cornerActually painted in PDF. Corner width comes from the left/right margin and height from the top/bottom margin; both must be positive. Painting uses the single @page rule selected for that page. A content declaration is required; a background or border alone cannot activate a box without content. See the corresponding entries for shared font, alignment, decoration, and counter limitations.
@page @left-bottomActually painted in PDF. The margin on that page edge must be positive. Each edge has up to three slots. Without explicit sizes, space is divided equally among occupied slots. With explicit sizes, start/center/end slots are anchored and auto slots share the remainder equally. Excess explicit sizes are scaled down proportionally. Painting uses the single @page rule selected for that page. A content declaration is required; a background or border alone cannot activate a box without content. See the corresponding entries for shared font, alignment, decoration, and counter limitations.
@page @left-middleActually painted in PDF. The margin on that page edge must be positive. Each edge has up to three slots. Without explicit sizes, space is divided equally among occupied slots. With explicit sizes, start/center/end slots are anchored and auto slots share the remainder equally. Excess explicit sizes are scaled down proportionally. Painting uses the single @page rule selected for that page. A content declaration is required; a background or border alone cannot activate a box without content. See the corresponding entries for shared font, alignment, decoration, and counter limitations.
@page @left-topActually painted in PDF. The margin on that page edge must be positive. Each edge has up to three slots. Without explicit sizes, space is divided equally among occupied slots. With explicit sizes, start/center/end slots are anchored and auto slots share the remainder equally. Excess explicit sizes are scaled down proportionally. Painting uses the single @page rule selected for that page. A content declaration is required; a background or border alone cannot activate a box without content. See the corresponding entries for shared font, alignment, decoration, and counter limitations.
@page @right-bottomActually painted in PDF. The margin on that page edge must be positive. Each edge has up to three slots. Without explicit sizes, space is divided equally among occupied slots. With explicit sizes, start/center/end slots are anchored and auto slots share the remainder equally. Excess explicit sizes are scaled down proportionally. Painting uses the single @page rule selected for that page. A content declaration is required; a background or border alone cannot activate a box without content. See the corresponding entries for shared font, alignment, decoration, and counter limitations.
@page @right-middleActually painted in PDF. The margin on that page edge must be positive. Each edge has up to three slots. Without explicit sizes, space is divided equally among occupied slots. With explicit sizes, start/center/end slots are anchored and auto slots share the remainder equally. Excess explicit sizes are scaled down proportionally. Painting uses the single @page rule selected for that page. A content declaration is required; a background or border alone cannot activate a box without content. See the corresponding entries for shared font, alignment, decoration, and counter limitations.
@page @right-topActually painted in PDF. The margin on that page edge must be positive. Each edge has up to three slots. Without explicit sizes, space is divided equally among occupied slots. With explicit sizes, start/center/end slots are anchored and auto slots share the remainder equally. Excess explicit sizes are scaled down proportionally. Painting uses the single @page rule selected for that page. A content declaration is required; a background or border alone cannot activate a box without content. See the corresponding entries for shared font, alignment, decoration, and counter limitations.
@page @top-centerActually painted in PDF. The margin on that page edge must be positive. Each edge has up to three slots. Without explicit sizes, space is divided equally among occupied slots. With explicit sizes, start/center/end slots are anchored and auto slots share the remainder equally. Excess explicit sizes are scaled down proportionally. Painting uses the single @page rule selected for that page. A content declaration is required; a background or border alone cannot activate a box without content. See the corresponding entries for shared font, alignment, decoration, and counter limitations.
@page @top-leftActually painted in PDF. The margin on that page edge must be positive. Each edge has up to three slots. Without explicit sizes, space is divided equally among occupied slots. With explicit sizes, start/center/end slots are anchored and auto slots share the remainder equally. Excess explicit sizes are scaled down proportionally. Painting uses the single @page rule selected for that page. A content declaration is required; a background or border alone cannot activate a box without content. See the corresponding entries for shared font, alignment, decoration, and counter limitations.