REFERENCE

CSS properties

673 entries · Page 1 of 5

  1. %

    Usable only in properties that accept the value type. The consuming property determines the percentage basis. Physical units use 96 CSS px/in.

  2. --kui-popup-bg

    Read from the select element's computed customProperties to override PopupTheme; affects only KUI dropdown menus and is not a standard property.

  3. --kui-popup-border

    Read from the select element's computed customProperties to override PopupTheme; affects only KUI dropdown menus and is not a standard property.

  4. --kui-popup-disabled-fg

    Read from the select element's computed customProperties to override PopupTheme; affects only KUI dropdown menus and is not a standard property.

  5. --kui-popup-fg

    Read from the select element's computed customProperties to override PopupTheme; affects only KUI dropdown menus and is not a standard property.

  6. --kui-popup-hover-bg

    Read from the select element's computed customProperties to override PopupTheme; affects only KUI dropdown menus and is not a standard property.

  7. --kui-popup-hover-fg

    Read from the select element's computed customProperties to override PopupTheme; affects only KUI dropdown menus and is not a standard property.

  8. --kui-popup-item-height

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

  9. --kui-popup-radius

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

  10. --kui-popup-selected-fg

    Read from the select element's computed customProperties to override PopupTheme; affects only KUI dropdown menus and is not a standard property.

  11. --kui-popup-separator

    Read from the select element's computed customProperties to override PopupTheme; affects only KUI dropdown menus and is not a standard property.

  12. --kui-tooltip-bg

    Overrides TooltipTheme using inherited variables from the tooltip anchor, or html when there is no anchor; affects only KUI tooltips.

  13. --kui-tooltip-border

    Overrides TooltipTheme using inherited variables from the tooltip anchor, or html when there is no anchor; affects only KUI tooltips.

  14. --kui-tooltip-fg

    Overrides TooltipTheme using inherited variables from the tooltip anchor, or html when there is no anchor; affects only KUI tooltips.

  15. --kui-tooltip-radius

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

  16. -kui-app-region

    Consumed only by hit testing for frameless Windows windows; macOS and Linux currently have no corresponding implementation.

  17. -kui-scrollbar-overlay

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

  18. -moz-osx-font-smoothing

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

  19. -webkit-animation-delay

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

  20. -webkit-animation-direction

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

  21. -webkit-animation-duration

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

  22. -webkit-animation-iteration-count

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

  23. -webkit-animation-name

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

  24. -webkit-animation-timing-function

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

  25. -webkit-app-region

    Consumed only by hit testing for frameless Windows windows; macOS and Linux currently have no corresponding implementation.

  26. -webkit-appearance

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

  27. -webkit-background-clip

    text uses glyph and decoration masks. The prefixed name is an alias for the same path.

  28. -webkit-box-align

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

  29. -webkit-box-direction

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

  30. -webkit-box-orient

    Only stores a vertical/block-axis boolean for legacy clamping. This is not a complete implementation of the old WebKit box layout model.

  31. -webkit-box-pack

    Shares the empty implementation branch with -webkit-box-direction and returns true unconditionally. Does not change justify-content or any other main-axis distribution field.

  32. -webkit-font-smoothing

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

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

  34. -webkit-line-clamp

    Legacy mode requires an authored display:-webkit-box or -webkit-inline-box together with -webkit-box-orient:vertical/block-axis. Uses an automatic ellipsis marker.

  35. -webkit-mask

    The basic shorthand only extracts the image source; it does not expand the complete mask grammar.

  36. -webkit-mask-image

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

  37. -webkit-mask-position

    Storage only: applyMask currently does not read size/position/repeat/origin/clip/composite, so these values cannot be claimed to produce an effect.

  38. -webkit-mask-repeat

    Storage only: applyMask currently does not read size/position/repeat/origin/clip/composite, so these values cannot be claimed to produce an effect.

  39. -webkit-mask-size

    Storage only: applyMask currently does not read size/position/repeat/origin/clip/composite, so these values cannot be claimed to produce an effect.

  40. -webkit-text-fill-color

    Stores a separate optional color; actual body text drawing uses usedTextFillColor.

  41. -webkit-transform

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

  42. -webkit-transition-delay

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

  43. -webkit-transition-duration

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

  44. ::after

    Generates a content box after the element's content; supports the same generated-content subset as before.

  45. ::backdrop

    Dedicated top-layer backdrop painting; depends on dialog/top-layer support.

  46. ::before

    Generates a content box before the element's content; supported content types, box properties, and layout properties are limited by the current generated-content implementation.

  47. ::column

    Recognized and bucketed; selector(::column) returns true. No supported properties consume it, and it produces no CSS styling or painting.

  48. ::details-content

    The pseudo-element wrapping details content, including its before/after pseudo-elements. Subject to the details open state and special box-tree constraints.

  49. ::first-letter

    Uses the first-letter text/floating-box path. Applies only to the first letter of eligible block containers.

  50. ::first-line

    Uses a dedicated first-line text styling path. Does not provide arbitrary property support or all complex fragmentation behavior.

  51. ::marker

    Has an independent marker cascade that consumes content, fonts, color, letter-spacing and word-spacing. Does not accept arbitrary normal-box properties.

  52. ::picker-icon

    Dedicated measurement and painting styles for the select control icon. Does not provide uniform customization of all input pickers.

  53. ::placeholder

    The control paints the placeholder text. Arbitrary box properties do not all take effect.

  54. ::selection

    Selection painting uses dedicated parsed results, mainly color, background-color and text-shadow. Does not implement the full highlight inheritance standard.

  55. :active

    Matches the activeElement ancestor chain, including the element itself and its ancestors; a forced pseudo state is also available.

  56. :any-link

    An a or area element with href.

  57. :autofill

    No matchPseudoClass branch; unknown pseudo-classes return false.

  58. :checked

    HTMLInputElement uses the live isChecked() state; other elements are checked only for a checked attribute. Unified option:selected behavior is not implemented.

  59. :default

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

  60. :defined

    No matchPseudoClass branch; unknown pseudo-classes return false.

  61. :dir

    Computed from the HTML dir attribute, ancestors, dir=auto, and the bdi first-strong rule, rather than CSS direction; tel, url, and email use LTR.

  62. :disabled

    Checks only for the presence of the disabled attribute; inherited disabled states from fieldset, option, and similar elements are not fully modeled.

  63. :empty

    Ignores comments and whitespace-only Text nodes; nonempty text or an element child prevents a match.

  64. :enabled

    Checks only that the disabled attribute is absent; matching is not limited to form elements that can be enabled.

  65. :first-child

    The first element under the same parent.

  66. :first-of-type

    The first element with the same localName under the same parent.

  67. :focus

    Matches Document::focusedElement or a forced focus state.

  68. :focus-visible

    Currently behaves exactly like :focus; there is no keyboard/pointer input-modality heuristic.

  69. :focus-within

    The focused element itself and its ancestor chain.

  70. :fullscreen

    No matchPseudoClass branch; unknown pseudo-classes return false.

  71. :has

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

  72. :host

    No matchPseudoClass branch; unknown pseudo-classes return false.

  73. :host-context

    No matchPseudoClass branch; unknown pseudo-classes return false.

  74. :hover

    Matches the hoveredElement ancestor chain, including the element itself and its ancestors; a forced pseudo state is also available.

  75. :in-range

    No matchPseudoClass branch; unknown pseudo-classes return false.

  76. :indeterminate

    Checks only the indeterminate attribute; live checkbox indeterminate, progress, and radio states are not fully implemented.

  77. :invalid

    Delegates to the limited finiteConstraintValidity implementation; pattern uses only a non-backtracking byte subset with a work budget.

  78. :is

    Matches any argument branch and uses the highest argument specificity; an invalid branch containing nested :has may be discarded tolerantly.

  79. :lang

    Inherits from the nearest lang or xml:lang; accepts comma-separated ident/string lists and RFC 4647 extended language ranges.

  80. :last-child

    The last element under the same parent.

  81. :last-of-type

    The last element with the same localName under the same parent.

  82. :link

    Matches only a elements with href; area is not included in the :link branch.

  83. :modal

    Matches a dialog in the Document top layer.

  84. :not

    Supports selector lists and complex selectors. The parser is error-tolerant; full Selectors 4 rejection semantics for invalid branches are not guaranteed.

  85. :nth-child

    Accepts An+B, odd/even, and integers; supports of selector-list and counts only matching elements.

  86. :nth-last-child

    Like nth-child, counting from the end; supports of selector-list.

  87. :nth-last-of-type

    Applies An+B in reverse order to elements of the same type; does not accept of S.

  88. :nth-of-type

    Accepts An+B, odd/even, and integers; counts elements of the same type and does not accept of S.

  89. :only-child

    Exactly one element under the same parent.

  90. :only-of-type

    Exactly one element with the same localName under the same parent.

  91. :open

    Matches only details and dialog elements with an open attribute; transient picker states are not exposed.

  92. :optional

    An input, select, or textarea element without a required attribute.

  93. :out-of-range

    No matchPseudoClass branch; unknown pseudo-classes return false.

  94. :placeholder-shown

    Checks only that placeholder exists and the value attribute is empty; this is not the complete form placeholder-display state.

  95. :popover-open

    No matchPseudoClass branch; unknown pseudo-classes return false.

  96. :read-only

    Checks only the readonly attribute; the full specification semantics for non-editable elements are not implemented.

  97. :read-write

    No matchPseudoClass branch; unknown pseudo-classes return false.

  98. :required

    Checks only for the presence of the required attribute.

  99. :root

    Matches Document::documentElement.

  100. :scope

    The matcher actually matches only documentElement; it does not use the element on which Element::querySelector is called as the scoping root.

  101. :state

    No matchPseudoClass branch; unknown pseudo-classes return false.

  102. :target

    Matches id against Document::targetElementId; the target must be set by document navigation or the caller.

  103. :user-invalid

    No matchPseudoClass branch; unknown pseudo-classes return false.

  104. :user-valid

    No matchPseudoClass branch; unknown pseudo-classes return false.

  105. :valid

    Delegates to the limited finiteConstraintValidity implementation; Unknown and NotCandidate do not match. This is not a complete HTML ValidityState implementation.

  106. :visited

    No browsing history is recorded, so normal execution always returns false; only DevTools ForcedVisited can make it true.

  107. :where

    Matches any argument branch; specificity is zero.

  108. @charset

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

  109. @container

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

  110. @counter-style

    parseAtRule has no corresponding branch. It skips the entire statement/block and continues with subsequent rules; this does not implement the feature.

  111. @document

    parseAtRule has no corresponding branch. It skips the entire statement/block and continues with subsequent rules; this does not implement the feature.

  112. @font-face

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

  113. @font-face ascent-override

    Accepts normal or a nonnegative percentage, passed through for use in face metrics.

  114. @font-face descent-override

    Accepts normal or a nonnegative percentage, passed through for use in face metrics.

  115. @font-face font-display

    Only stored in FontFaceInfo. Document loading does not read it; block/swap/fallback/optional timing is unimplemented.

  116. @font-face font-family

    Used as the CSS family alias for a custom font, with quotes removed.

  117. @font-face font-feature-settings

    The @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.

  118. @font-face font-language-override

    The @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.

  119. @font-face font-named-instance

    The @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.

  120. @font-face font-stretch

    The @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.

  121. @font-face font-style

    The @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.

  122. @font-face font-variation-settings

    The @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.

  123. @font-face font-weight

    Accepts normal, bold, or a single integer from 1 to 1000. Range descriptors are not implemented.

  124. @font-face line-gap-override

    Accepts normal or a nonnegative percentage, passed to the font face metrics.

  125. @font-face size-adjust

    Accepts a nonnegative percentage and scales the selected face glyphs and metrics. This differs from the element font-size-adjust property.

  126. @font-face src

    Supports ordered local()/url() candidates. Document uses the first candidate that loads successfully.

  127. @font-face unicode-range

    Accepts comma-separated Unicode code points, ranges, and trailing ? wildcards. These participate in code point selection for custom font faces.

  128. @font-feature-values

    parseAtRule has no corresponding branch. It skips the entire statement/block and continues with subsequent rules; this does not implement the feature.

  129. @font-palette-values

    parseAtRule has no corresponding branch. It skips the entire statement/block and continues with subsequent rules; this does not implement the feature.

  130. @import

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

  131. @import layer()/layer

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

  132. @keyframes

    Supports from/to, multiple percentage offsets and duplicate keyframes. !important declarations in keyframes are ignored. Actual animatable properties are further limited by the animation implementation.

  133. @layer

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

  134. @media

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

  135. @media print

    Document PDF export enables printMode; normal operation uses screen. The old test name PrintNeverMatches does not mean printing is permanently unsupported.

  136. @namespace

    parseAtRule has no corresponding branch. It skips the entire statement/block and continues with subsequent rules; this does not implement the feature.

  137. @page

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

  138. @page @bottom-center

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

  139. @page @bottom-left

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

  140. @page @bottom-left-corner

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

  141. @page @bottom-right

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

  142. @page @bottom-right-corner

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

  143. @page @left-bottom

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

  144. @page @left-middle

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

  145. @page @left-top

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

  146. @page @right-bottom

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

  147. @page @right-middle

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

  148. @page @right-top

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

  149. @page @top-center

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

  150. @page @top-left

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