Fixed container. Children are absolutely positioned with x and y attributes. Maps to a Figma frame without auto-layout.

frame

tagfixed container

Fixed container. Children are absolutely positioned with x and y attributes. Maps to a Figma frame without auto-layout.

w and h are required. clip (boolean presence) clips content to bounds.

AttrTypeDescription
namestring
xnumber
ynumber
w requirednumber | 'fill'Required on frame
h requirednumber | 'fill'Required on frame
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

<frame w="390" h="844" fill="#FFFFFF" clip>
  <img x="0" y="0" src="assets/bg.webp" w="390" h="240" fit="cover" />
  <text x="24" y="260" value="Good morning"
        font-size="28" font-weight="700" fill="#1C1C1E" />
</frame>

Frequently asked

What's the difference between frame and col?

A frame positions its children absolutely with x/y and maps to a Figma frame with auto-layout off; a col flows its children vertically with auto-layout. Use frame for fixed artboards, col for content-driven screens.