<row> is horizontal, <col> is vertical. <stack> requires an explicit direction. Children are flow-positioned.

stack

tagauto-layout

<row> is horizontal, <col> is vertical. <stack> requires an explicit direction. Children are flow-positioned.

w / h absent = hug content; "fill" = fill parent; number = fixed px. p accepts CSS shorthand (1–4 values). gap="auto" distributes space evenly.

AttrTypeDescription
namestring
direction requiredhorizontal vertical grid
xnumber
ynumber
wnumber | 'fill'Absent = hug children
hnumber | 'fill'Absent = hug children
gapgapGap between items and (when wrapping) between rows. "16" fixed 16px "auto" space-between (bare attribute = auto) "16 10" 16px items, 10px rows "16 auto" 16px items, rows distributed
reverse-zbooleanReverse z-order of children. Presence = true.
wrapbooleanEnable wrapping. Presence = true.
grid-columnsnumber
grid-rowsnumber
grid-col-gapnumber | string
grid-row-gapnumber | string
pstring | numberPadding shorthand. Single value, "v h", or "top right bottom left". Alias: padding
ptnumberTop padding override
prnumberRight padding override
pbnumberBottom padding override
plnumberLeft padding override
alignstretch top-left top-center top-right middle-left middle-center middle-right bottom-left bottom-center bottom-right baseline9-point alignment — direction-independent. Replaces justify + align. Special values: stretch, baseline. Default: top-left.
fillfill
fill-stylestring
effect-stylestring
radiusnumber | string
corner-smoothingnumber
borderstring
border-colorcolor | token
border-widthnumber
border-stylesolid dashed dotted
border-aligncenter inside outside
shadowstring
clipboolean
clip-pathstring
overflow-xhidden visible scroll auto
overflow-yhidden visible scroll auto
border-imagestring
outlinestring
outline-offsetnumber

Inherited properties

AttrType / valuesNotes
opacitynumberLayer opacity, 0–1. Omitted when 1.
blendnormal, multiply, screen, overlay, darken, lighten, color-dodge, color-burn, hard-light, soft-light, difference, exclusion, hue, saturation, color, luminosity, linear-burn, linear-dodgeBlend mode against layers below. Omitted when normal.
maskbooleanPresence = true. Acts as an alpha mask for subsequent siblings.
rotationnumberRotation in degrees. Omitted when 0.
constraint-hleft, right, center, scale, stretchHorizontal pin/resize behavior. Default left (omitted).
constraint-vcenter, scale, stretch, top, bottomVertical pin/resize behavior. Default top (omitted).
absbooleanAbsolute child inside auto-layout. Presence = true. Replaces layout-position="absolute".
min-widthnumberMinimum width in px. Omitted when unset.
max-widthnumberMaximum width in px. Omitted when unset.
min-heightnumberMinimum height in px. Omitted when unset.
max-heightnumberMaximum height in px. Omitted when unset.
fliph, v, bothMirror transform — 'h', 'v', or 'both'.
filterstringCSS filter string, e.g. "brightness(1.2) contrast(0.9)".
isolationbooleanPresence = true. New stacking context for blend modes (isolation: isolate).
transform-originstringTransform origin, e.g. "top-left", "center", "0% 0%".
scale-xnumberCSS scaleX, e.g. 1.5.
scale-ynumberCSS scaleY, e.g. 0.8.
skew-xnumberHorizontal skew in degrees.
skew-ynumberVertical skew in degrees.
aspect-ratiostringAspect ratio, e.g. "16/9", "1/1".
z-indexnumberExplicit CSS z-index.
visiblebooleanfalse = visibility:hidden (preserved in file, skipped in render).

Example

<col w="fill" gap="12" p="16" fill="#fff" radius="12">
  <text value="Settings" font-size="17" font-weight="600" fill="#1C1C1E" />
  <line fill="#E5E5EA" />
  <row w="fill" gap="auto" align="middle-left">
    <text value="Notifications" font-size="15" fill="#1C1C1E" />
    <text value="On" font-size="15" fill="#8E8E93" />
  </row>
</col>