REFERENCE

CSS properties

673 entries · Page 2 of 5

  1. @page @top-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.

  2. @page @top-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.

  3. @page @top-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.

  4. @page bleed

    No dedicated bleed descriptor parser or PDF consumer was found. PageGeometry only stores page width, height, and four margins. PDF pages open at the opts dimensions, with main content clipped to the content area. Bleed areas, BleedBox/TrimBox, and print bleed output cannot be claimed as supported.

  5. @page content:counter(page)

    Replaced with the current page number as a decimal integer starting at 1. Can be concatenated with static strings. The optional style argument is discarded; decimal is always used. Other named counters produce an empty string. Rewriting page counters with counter-reset/increment is not handled.

  6. @page content:counter(pages)

    Replaced with the total page count generated by FragmentStore, including parity blank pages. Can be concatenated with static strings. The optional style argument is discarded; decimal is always used. Other named counters produce an empty string. Rewriting page counters with counter-reset/increment is not handled.

  7. @page margin

    Contributes to the global page content area and available margin strips. The first generic rule without a name or pseudo-class is the base. The first named rule without pseudo-classes whose page name matches consistently across the tree is then overlaid. The ordinary page flow shares one geometry; :first/:left/:right/:blank rules do not change margins per page. The string shorthand recognizes px/in/cm/mm/pt/pc/q. Longhand properties call CSSLength::toPx, with em/rem fixed to a 16px base and vw/vh equal to 0. Percentages have no page-size reference, and calc has no dedicated evaluator.

  8. @page margin-bottom

    Contributes to the global page content area and available margin strips. The first generic rule without a name or pseudo-class is the base. The first named rule without pseudo-classes whose page name matches consistently across the tree is then overlaid. The ordinary page flow shares one geometry; :first/:left/:right/:blank rules do not change margins per page. The string shorthand recognizes px/in/cm/mm/pt/pc/q. Longhand properties call CSSLength::toPx, with em/rem fixed to a 16px base and vw/vh equal to 0. Percentages have no page-size reference, and calc has no dedicated evaluator.

  9. @page margin-box content

    Uses a separate tolerant scanner. Quoted text and an escaped next character are preserved; inter-token whitespace and separating commas are not output. Other unknown content is copied character by character. There is no full generated-content parsing for attr()/url()/image/string()/element()/target-counter()/quotes. The support of ordinary DOM content cannot be assumed here. No dedicated suppression branch was found for none/normal, which may be treated as text.

  10. @page margin-box width/height

    Reads only the strip main axis: width for top/bottom boxes and height for left/right boxes. General CSS min/max/percentage sizing is not supported. readLengthPt uses a default of -1 for em/rem, so they cannot produce a positive size. Percentages and other unknown units fall back to a bare point value. The width:50% comment is not evidence of percentage support. Corner boxes always use the margins and do not read explicit width/height.

  11. @page margin-box 字体与排版

    Reads the margin rule directly, with defaults of sans-serif, 10pt, black, and weight 400. Ordinary DOM ancestor style inheritance does not apply. readLengthPt recognizes pt/px/em/rem/in/mm/cm, but em/rem use the supplied default value; the padding default is 0. Unknown units return the original number in points. backend.computeWrappedLines wraps text. Line height is fixed at font-size times 1.2. Text is vertically centered and switches to top alignment on overflow. The full paragraph behavior of line-height/vertical-align/white-space and related properties is not used.

  12. @page margin-box 装饰

    Separately uses rectangular backgrounds, solid borders on four sides, and padding. none/hidden sides are not painted. dashed/dotted/double/groove/ridge/inset/outset are all painted as solid strips. Backgrounds are flat colors, without the multilayer image/gradient backgrounds of ordinary DOM boxes. currentColor has no parent inheritance, and borders fall back to black. The default em/rem base for padding is 0. Do not claim the complete units or decoration behavior of an ordinary CSS box.

  13. @page margin-left

    Contributes to the global page content area and available margin strips. The first generic rule without a name or pseudo-class is the base. The first named rule without pseudo-classes whose page name matches consistently across the tree is then overlaid. The ordinary page flow shares one geometry; :first/:left/:right/:blank rules do not change margins per page. The string shorthand recognizes px/in/cm/mm/pt/pc/q. Longhand properties call CSSLength::toPx, with em/rem fixed to a 16px base and vw/vh equal to 0. Percentages have no page-size reference, and calc has no dedicated evaluator.

  14. @page margin-right

    Contributes to the global page content area and available margin strips. The first generic rule without a name or pseudo-class is the base. The first named rule without pseudo-classes whose page name matches consistently across the tree is then overlaid. The ordinary page flow shares one geometry; :first/:left/:right/:blank rules do not change margins per page. The string shorthand recognizes px/in/cm/mm/pt/pc/q. Longhand properties call CSSLength::toPx, with em/rem fixed to a 16px base and vw/vh equal to 0. Percentages have no page-size reference, and calc has no dedicated evaluator.

  15. @page margin-top

    Contributes to the global page content area and available margin strips. The first generic rule without a name or pseudo-class is the base. The first named rule without pseudo-classes whose page name matches consistently across the tree is then overlaid. The ordinary page flow shares one geometry; :first/:left/:right/:blank rules do not change margins per page. The string shorthand recognizes px/in/cm/mm/pt/pc/q. Longhand properties call CSSLength::toPx, with em/rem fixed to a 16px base and vw/vh equal to 0. Percentages have no page-size reference, and calc has no dedicated evaluator.

  16. @page marks

    The stylesheet only preserves marks as raw multitoken text. PageGeometry, Document::printToPDF, and the PDF backend do not read marks. There is no output consumer for crop or registration marks.

  17. @page size

    PageGeometry parses a single length for a square, two lengths, and named paper sizes; a keyword plus landscape swaps width and height. Bare portrait/landscape and automatic orientation are not implemented. String lengths recognize only px/in/cm/mm/pt/pc/q; calc and relative units are not fully supported. The key limitation is that Document::printToPDF subsequently overwrites pageWidth/pageHeight unconditionally with PDFOptions. The final PDF paper dimensions come from opts. CSS size cannot be claimed to control the output paper size.

  18. @page 选择与级联

    PDF page-margin content matches each page by name/first/left/right/blank. RTL swaps left and right pages; blank uses the actual FragmentStore::isBlank signal. A simple weighted score, with later rules winning ties, selects one complete CSSPageRule. Declarations from multiple rules are not merged. Headers in generic rules are not automatically added to more specific rules. The parser decodes only the first part of a comma-separated selector list and skips unknown pseudo-classes. Global geometry instead uses the first generic/named rule without pseudo-classes. This is separate from per-page decoration selection.

  19. @position-try

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

  20. @property

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

  21. @scope

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

  22. @starting-style

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

  23. @supports

    Supports parentheses, not/and/or, declarations and selector(). Mixing and/or at the same level requires parentheses. Results query limited declaration syntax and named capabilities; they do not guarantee layout or painting. Properties outside the limited grammar also depend on acceptance by setProperty.

  24. @supports selector()

    Builds one complex selector after validating the full token sequence, rather than merely checking for a nonempty AST. Reports true for ::column despite the absence of consumable properties. Approximate pseudo-classes with matchers also return true.

  25. @view-transition

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

  26. CSS nesting / &

    Expands explicit & as :is(parent-selector-list); supports implicit descendants and relative combinators. Nested @media/@supports/@layer rules are available. Does not expand when all parent rules are pseudo-elements. Declaration segments are merged, with limited modeling of interleaved source order; full CSS Nesting conformance is not claimed.

  27. CSS 注释与转义

    The tokenizer supports comments, Unicode escapes in identifiers and strings, exponent notation and URL tokens. File comments alone do not establish full CSS Syntax conformance.

  28. CSS2 单冒号伪元素

    The four legacy names are recognized as pseudo-elements rather than pseudo-classes.

  29. ID 选择器

    HTML tag names are matched in ASCII lowercase; class and id values remain case-sensitive.

  30. SVG 内部 CSS 转交

    The SVG subtree is serialized and passed to the selected LunaSVG/Skia SVG backend. It is not rendered when the backend is none or its dependency is missing. The host copies only top-level Style rules from enabled Author sheets. It does not recurse into @media/@supports/@layer or extend the full host cascade or selector state into the isolated SVG. The full set of internal SVG CSS capabilities depends on the selected backend and version; it is outside the general KUI element property contract.

  31. Specificity

    is/not/has use the maximum argument specificity; where is zero. nth-child of S adds its argument specificity. Nested specificity recursion has a budget.

  32. abs()(通用值)

    The generic value/length-math parser has no semantics for this function. Storing the text of an unknown function does not establish support.

  33. accent-color

    A search across src found no style application, corresponding field, or control-painting consumer; classification as paint-only does not mean the property is implemented.

  34. acos()(通用值)

    The generic value/length-math parser has no semantics for this function. Storing the text of an unknown function does not establish support.

  35. align-content

    Used in multiline flex layout, grid layout, and block containers. A block container with a value other than normal establishes an independent formatting context.

  36. align-items

    Aligns flex/grid items. The supported unsafe combinations explicitly listed in source are self-start and self-end; this should not be generalized to other unsafe combinations.

  37. align-self

    anchor-center is stored as an enum and treated as centering in some absolute-positioning paths. The complete CSS Anchor Positioning anchor-name/position-anchor protocol is not implemented.

  38. all

    Expands registered properties, excluding direction, unicode-bidi and --custom-property.

  39. anchor()(通用值)

    The generic value/length-math parser has no semantics for this function. Storing the text of an unknown function does not establish support.

  40. anchor-size()(通用值)

    The generic value/length-math parser has no semantics for this function. Storing the text of an unknown function does not establish support.

  41. animation

    A shorthand for multiple animations, with keyframe ticks, events and pause/resume. Animatable properties are limited to the explicit write-back list in applyAnimatedProperty; arbitrary registered properties are not animatable.

  42. animation-delay

    A single value applies to every AnimationDef; comma-separated time lists are not implemented.

  43. animation-direction

    The longhand updates only the first definition; lists are not implemented.

  44. animation-duration

    A single value applies to every AnimationDef; comma-separated time lists are not implemented.

  45. animation-fill-mode

    The longhand updates only the first definition; lists are not implemented.

  46. animation-iteration-count

    The longhand updates only the first definition; lists are not implemented.

  47. animation-name

    Multiple names match existing definitions and reuse their parameters cyclically.

  48. animation-play-state

    The longhand updates only the first definition; lists are not implemented.

  49. animation-timing-function

    The function list maps cyclically to the existing animations; the CSS linear() piecewise function is not implemented.

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

  51. asin()(通用值)

    The generic value/length-math parser has no semantics for this function. Storing the text of an unknown function does not establish support.

  52. aspect-ratio

    Accepts positive finite ratios and the natural-ratio branch for replaced elements with auto. Degenerate ratios fall back to auto; the suffix order ratio auto is not parsed.

  53. atan()(通用值)

    The generic value/length-math parser has no semantics for this function. Storing the text of an unknown function does not establish support.

  54. atan2()(通用值)

    The generic value/length-math parser has no semantics for this function. Storing the text of an unknown function does not establish support.

  55. attr()(通用值)

    General typed attr() property values are unsupported. Existing generated-content behavior for content:attr(name) must be listed separately under generated content.

  56. backdrop-filter

    Implements a filter chain. url(SVG-filter) is not supported. Ordinary filter values read only the numeric prefix: relative lengths in blur, angle units other than deg and similar cases do not use complete CSS unit parsing. backdrop-filter has no effect on the root element.

  57. backface-visibility

    Determines the back face from the projection matrix.

  58. background

    Supports multiple layers, gradient direction, position, color stops, color hints and explicit interpolation spaces. image-set selects for a fixed 1dppx target; calc resolutions are simplified to 1x. The filter() image function is a KUI extension. image(), element(), cross-fade() and paint() are not implemented.

  59. background-attachment

    scroll follows the element; fixed uses the viewport as its painting reference; local uses the scrolling-content background path. The background painter uses multilayer properties one layer at a time.

  60. background-blend-mode

    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.

  61. background-clip

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

  62. background-color

    Includes currentColor and transparent. Final painting is performed by the Skia backend.

  63. background-image

    Supports multiple layers, gradient direction, position, color stops, color hints and explicit interpolation spaces. image-set selects for a fixed 1dppx target; calc resolutions are simplified to 1x. The filter() image function is a KUI extension. image(), element(), cross-fade() and paint() are not implemented.

  64. background-origin

    Only a single global origin field exists. Per-layer comma-separated lists are not implemented.

  65. background-position

    The shared position parser supports keywords, edge offsets, lengths and percentages. Used by both gradients and images.

  66. background-repeat

    Painting paths implement horizontal/vertical repetition, space spacing and round size adjustment, applied separately to each background layer.

  67. background-size

    Evaluation of calc() lengths and percentages is deferred until the background area is known.

  68. block-ellipsis

    The current property registry and StyleCore/Extras have no implementation that uses this element property. Tokenizer acceptance of its name, inclusion in the @supports allowlist, or the existence of imported tests does not establish support.

  69. block-size

    Only maps horizontal-tb plus direction: RTL swaps inline start/end, block remains top/bottom, and size remains width/height. A vertical writing-mode does not change this mapping.

  70. border

    Expanded by CSSStyleDeclaration::setProperty.

  71. border-block

    Only maps block/inline in horizontal-tb; the inline direction follows direction. Ordinary inset/margin/padding pair shorthands split one or two values at top-level whitespace.

  72. border-block-color

    Only maps block/inline in horizontal-tb; the inline direction follows direction. Border width/style/color pair shorthands write the same raw value to both sides rather than fully splitting two distinct values.

  73. border-block-end

    Only maps horizontal-tb plus direction: RTL swaps inline start/end, block remains top/bottom, and size remains width/height. A vertical writing-mode does not change this mapping.

  74. border-block-end-color

    Only maps horizontal-tb plus direction: RTL swaps inline start/end, block remains top/bottom, and size remains width/height. A vertical writing-mode does not change this mapping.

  75. border-block-end-style

    Only maps horizontal-tb plus direction: RTL swaps inline start/end, block remains top/bottom, and size remains width/height. A vertical writing-mode does not change this mapping.

  76. border-block-end-width

    Only maps horizontal-tb plus direction: RTL swaps inline start/end, block remains top/bottom, and size remains width/height. A vertical writing-mode does not change this mapping.

  77. border-block-start

    Only maps horizontal-tb plus direction: RTL swaps inline start/end, block remains top/bottom, and size remains width/height. A vertical writing-mode does not change this mapping.

  78. border-block-start-color

    Only maps horizontal-tb plus direction: RTL swaps inline start/end, block remains top/bottom, and size remains width/height. A vertical writing-mode does not change this mapping.

  79. border-block-start-style

    Only maps horizontal-tb plus direction: RTL swaps inline start/end, block remains top/bottom, and size remains width/height. A vertical writing-mode does not change this mapping.

  80. border-block-start-width

    Only maps horizontal-tb plus direction: RTL swaps inline start/end, block remains top/bottom, and size remains width/height. A vertical writing-mode does not change this mapping.

  81. border-block-style

    Only maps block/inline in horizontal-tb; the inline direction follows direction. Border width/style/color pair shorthands write the same raw value to both sides rather than fully splitting two distinct values.

  82. border-block-width

    Only maps block/inline in horizontal-tb; the inline direction follows direction. Border width/style/color pair shorthands write the same raw value to both sides rather than fully splitting two distinct values.

  83. border-bottom

    Expanded by CSSStyleDeclaration::setProperty.

  84. border-bottom-color

    Includes currentColor and transparent.

  85. border-bottom-left-radius

    Horizontal and vertical radii at each corner, including percentages, are evaluated against box width and height.

  86. border-bottom-right-radius

    Horizontal and vertical radii at each corner, including percentages, are evaluated against box width and height.

  87. border-bottom-style

    Used by the border painting path. Collapsed tables separately use the shared-border conflict winner model. none and hidden do not produce ordinary visible edge strips.

  88. border-bottom-width

    thin, medium and thick use 1px, 3px and 5px respectively.

  89. border-collapse

    Provides separate and collapsed border models, including conflict resolution for collapsed borders.

  90. border-color

    Includes currentColor and transparent.

  91. border-image

    The shorthand expands into five longhands, with the same capability limits as those longhands.

  92. border-image-outset

    Outsets are currently applied directly as numeric values; per-side number multipliers and length units are not preserved separately.

  93. border-image-repeat

    Nine-slice edge strips use values per axis. One value applies to both axes; two values control horizontal and vertical repetition separately. Corner slices and edge strips follow the border-image painting path.

  94. border-image-slice

    Only a global slicePercent flag exists. Mixed number and percentage values cannot preserve units per side.

  95. border-image-source

    Uses nine-slice painting. filter() is a KUI image extension.

  96. border-image-width

    calc() is explicitly rejected. Global widthPercent/widthIsLength/widthAuto flags limit mixed units and per-side auto values; non-px lengths are not converted.

  97. border-inline

    Only maps block/inline in horizontal-tb; the inline direction follows direction. Ordinary inset/margin/padding pair shorthands split one or two values at top-level whitespace.

  98. border-inline-color

    Only maps block/inline in horizontal-tb; the inline direction follows direction. Border width/style/color pair shorthands write the same raw value to both sides rather than fully splitting two distinct values.

  99. border-inline-end

    Only maps horizontal-tb plus direction: RTL swaps inline start/end, block remains top/bottom, and size remains width/height. A vertical writing-mode does not change this mapping.

  100. border-inline-end-color

    Only maps horizontal-tb plus direction: RTL swaps inline start/end, block remains top/bottom, and size remains width/height. A vertical writing-mode does not change this mapping.

  101. border-inline-end-style

    Only maps horizontal-tb plus direction: RTL swaps inline start/end, block remains top/bottom, and size remains width/height. A vertical writing-mode does not change this mapping.

  102. border-inline-end-width

    Only maps horizontal-tb plus direction: RTL swaps inline start/end, block remains top/bottom, and size remains width/height. A vertical writing-mode does not change this mapping.

  103. border-inline-start

    Only maps horizontal-tb plus direction: RTL swaps inline start/end, block remains top/bottom, and size remains width/height. A vertical writing-mode does not change this mapping.

  104. border-inline-start-color

    Only maps horizontal-tb plus direction: RTL swaps inline start/end, block remains top/bottom, and size remains width/height. A vertical writing-mode does not change this mapping.

  105. border-inline-start-style

    Only maps horizontal-tb plus direction: RTL swaps inline start/end, block remains top/bottom, and size remains width/height. A vertical writing-mode does not change this mapping.

  106. border-inline-start-width

    Only maps horizontal-tb plus direction: RTL swaps inline start/end, block remains top/bottom, and size remains width/height. A vertical writing-mode does not change this mapping.

  107. border-inline-style

    Only maps block/inline in horizontal-tb; the inline direction follows direction. Border width/style/color pair shorthands write the same raw value to both sides rather than fully splitting two distinct values.

  108. border-inline-width

    Only maps block/inline in horizontal-tb; the inline direction follows direction. Border width/style/color pair shorthands write the same raw value to both sides rather than fully splitting two distinct values.

  109. border-left

    Expanded by CSSStyleDeclaration::setProperty.

  110. border-left-color

    Includes currentColor and transparent.

  111. border-left-style

    Used by the border painting path. Collapsed tables separately use the shared-border conflict winner model. none and hidden do not produce ordinary visible edge strips.

  112. border-left-width

    thin, medium and thick use 1px, 3px and 5px respectively.

  113. border-radius

    The shorthand expands elliptical radii into individual corners. Supports affine calc expressions combining lengths and percentages.

  114. border-right

    Expanded by CSSStyleDeclaration::setProperty.

  115. border-right-color

    Includes currentColor and transparent.

  116. border-right-style

    Used by the border painting path. Collapsed tables separately use the shared-border conflict winner model. none and hidden do not produce ordinary visible edge strips.

  117. border-right-width

    thin, medium and thick use 1px, 3px and 5px respectively.

  118. border-spacing

    Provides independent horizontal and vertical spacing, accepts lengths and math expressions, and uses non-negative used values. In collapse mode, the collapsed-border model handles spacing.

  119. border-style

    Used by the border painting path. Collapsed tables separately use the shared-border conflict winner model. none and hidden do not produce ordinary visible edge strips.

  120. border-top

    Expanded by CSSStyleDeclaration::setProperty.

  121. border-top-color

    Includes currentColor and transparent.

  122. border-top-left-radius

    Horizontal and vertical radii at each corner, including percentages, are evaluated against box width and height.

  123. border-top-right-radius

    Horizontal and vertical radii at each corner, including percentages, are evaluated against box width and height.

  124. border-top-style

    Used by the border painting path. Collapsed tables separately use the shared-border conflict winner model. none and hidden do not produce ordinary visible edge strips.

  125. border-top-width

    thin, medium and thick use 1px, 3px and 5px respectively.

  126. border-width

    thin, medium and thick use 1px, 3px and 5px respectively.

  127. bottom

    Percentages are resolved during layout. Affine calc expressions retain px and percentage terms; non-affine expressions are converted to numbers during style resolution, so a complete container reference cannot be claimed for every function.

  128. box-decoration-break

    Used in physical multicolumn fragments. This does not establish complete decoration semantics for inline fragments or paginated fragments.

  129. box-shadow

    Multiple shadows with blur/spread, inset, dynamic currentColor and length math functions.

  130. box-sizing

    Affects the used values of sizes and min/max constraints when accounting for padding and borders.

  131. break-after

    Used by pagination and multicolumn layout. Pagination applies only to the Document PDF fragmentation path, not ordinary screen layout. This does not cover all combined avoid constraints or all fragmentation rules.

  132. break-before

    Used by pagination and multicolumn layout. Pagination applies only to the Document PDF fragmentation path, not ordinary screen layout. This does not cover all combined avoid constraints or all fragmentation rules.

  133. break-inside

    Pagination and multicolumn layout use avoid. There is no separate region layout system.

  134. calc 常量

    pi/e are f32 approximations; infinity saturates at 1e8, and NaN becomes 0 directly. Does not provide full IEEE/CSS special-number propagation.

  135. calc()

    Supports nested math, parentheses, arithmetic operator precedence and numeric type validation. Limited by each property's accepted types and the depth budget.

  136. cap

    The element apply path uses font measurements where possible, and fallback ratios when no callback exists. Other property-specific parsers may still differ.

  137. caption-side

    Only top and bottom are retained. Logical and side-position caption values have no separate implementation.

  138. caret-color

    A search across src found no style application, corresponding field, or control-painting consumer; classification as paint-only does not mean the property is implemented.

  139. ch

    The element apply path uses font measurements where possible, and fallback ratios when no callback exists. Other property-specific parsers may still differ.

  140. clamp()

    Supports nested math, parentheses, arithmetic operator precedence and numeric type validation. Limited by each property's accepted types and the depth budget.

  141. clear

    Clears floats in block flow. Logical direction values have no corresponding mapping.

  142. clip

    Used only for absolute/fixed positioning. Supports consistent comma or space separators and auto edges.

  143. clip-path

    url(SVG clipPath), path() and shape() are not implemented. Basic shapes and geometry boxes are normalized by Painter.

  144. cm

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

  145. color

    Text color; also used by currentColor.

  146. color()

    Includes conversion branches for predefined color spaces, with results clamped to 8-bit sRGB. Does not provide custom ICC profiles, a wide-gamut framebuffer or the full strict CSS Color grammar. Unknown spaces lack a reliable rejection branch, so acceptance does not establish support.

  147. color-mix()

    Computes weighted mixtures of two colors, but oklab/oklch actually share Lab interpolation. Splits on bare commas, limiting nested color functions and color functions containing commas. Alpha is directly weighted and weights are normalized; this is not the full premultiplied-alpha or attenuation model for weights totaling less than 100%. Hue interpolation methods are not modeled; other spaces fall back to sRGB.

  148. column-count

    Real block and text multicolumn layout is implemented. KUI_DISABLE_MULTICOL=ON is a scope marker with no consuming #if branch; it must not be interpreted as disabling multicolumn layout at runtime. Complex nesting and fragmentation do not establish full specification coverage.

  149. column-fill

    With a definite height, auto fills columns sequentially. With an indefinite height, auto still falls back to balancing. balance-all is not retained as a distinct value.

  150. column-gap

    Used by flex and grid; column-gap also serves multicolumn layout. Affine calc expressions retain px and percentage terms. Non-affine math functions still use a two-sample approximation. normal is zero in flex/grid and 1em for the multicolumn column gap.