Optional ReadonlyalignCross-axis distribution of wrapped lines.
Optional ReadonlyalignCross-axis placement of children.
Optional ReadonlyalignThis node's own cross-axis placement.
Optional ReadonlyaspectWidth divided by height, honoured when one axis is automatic.
Optional ReadonlybackdropA CSS filter applied to what shows through this node.
Optional ReadonlybackgroundThe box's fill.
backgroundColor, as v1 spells it and as CSS names the property, and
distinct from Style.color, which is
the text colour. The two sit adjacent and mean different things; that is
CSS's trap and keeping its names is what lets a design be ported without
translation.
Optional ReadonlybackgroundA picture painted over the gradient.
Optional ReadonlyborderBorder thickness, which occupies space whether or not it is painted.
Optional ReadonlyborderBorder colour, on every edge or per edge.
One property, as v1 has one. The scene splits it — a fallback colour beside per-edge overrides — but that split exists for the wire format's convenience rather than the caller's, so the encoder routes the scalar form to one field and the edge form to the other and no v2-only name reaches this surface.
Optional ReadonlyborderCorner radii.
Optional ReadonlyborderWhether the border is solid, dashed or dotted.
Optional ReadonlyboxShadows cast by the box, nearest first.
One or many, as v1 takes them. Later shadows are drawn behind earlier ones, which is CSS's order.
Optional ReadonlyboxWhether width and height include padding and border.
Optional ReadonlycolorThe colour glyphs are drawn in, CSS's color. Inherits.
Optional ReadonlycolumnsA shorthand for that many equal columns.
v1's columns, and pure sugar: columns: 3 is
gridTemplateColumns: [fr(1), fr(1), fr(1)] and reaches the renderer as
exactly those tracks. Nothing new crosses the wire, which is the test of
whether a shorthand is a shorthand — if it needed a slot of its own, the
long form could not express it and that would be a different finding.
Naming both this and Style.gridTemplateColumns is refused rather than resolved by precedence: a caller who wrote both meant one of them, and nothing here can tell which.
Optional ReadonlydirectionInline direction, which decides which edge is the start.
Optional ReadonlydisplayHow this node's children are arranged.
Optional ReadonlyditherWhether gradients are dithered.
Optional ReadonlyfilterA CSS filter applied to this node's own drawing.
Optional ReadonlyflexSize along the main axis before growing or shrinking.
Optional ReadonlyflexThe axis children run along.
Optional ReadonlyflexShare of free space this node absorbs.
Optional ReadonlyflexShare of overflow this node gives up.
Optional ReadonlyflexWhether children overflow onto further lines.
Optional ReadonlyfontThe family name text is drawn in. Inherits.
Optional ReadonlyfontEm size in logical pixels. Inherits.
Optional ReadonlyfontUpright or italic. Inherits.
Optional ReadonlyfontOpenType features applied to the run.
Reaches the measurer as well as the painter: diagonal-fractions
moves a nineteen-character sample from 220.61 to 211.04, so a feature that
only reached the drawing would lay text out at one width and paint it at
another.
Optional ReadonlyfontWeight from 1 to 1000. Inherits.
Optional ReadonlyframeWhich frame of an animated source to draw. Read only by an image.
Optional ReadonlygapSpace between children. One value for both axes, or each named.
row is the gap between rows, so it separates children stacked
vertically -- the axis names the gap it opens, not the direction it runs.
Optional Readonlycolumn?: Length | undefinedSpace between columns, separating children placed side by side.
Optional Readonlyrow?: Length | undefinedSpace between rows, separating children stacked vertically.
Optional ReadonlygradientA gradient painted over the background colour.
One kind per geometry, each carrying only what it reads.
Optional ReadonlygridBoth axes at once, as CSS's grid-area orders them.
[rowStart, columnStart, rowEnd, columnEnd], lines counting from one and
the two ends exclusive — [1, 1, 3, 2] is the item covering rows 1
and 2 of column 1, which is CSS's reading of grid-area: 1 / 1 / 3 / 2.
Sugar over Style.gridRow and Style.gridColumn, so it adds
nothing to the wire.
Naming this beside either of those is refused, for the reason Style.columns is.
Optional ReadonlygridSize given to columns the template does not name.
Optional ReadonlygridThe order auto-placement fills tracks in.
Optional ReadonlygridSize given to rows the template does not name.
Optional ReadonlygridWhere this item sits on the column axis.
Optional ReadonlygridWhere this item sits on the row axis.
Optional ReadonlygridThe grid's column tracks.
The CSS spelling rather than v1's templateColumns, and the rule already
decides it: the names are CSS's, because someone porting a design should
not have to translate. v1's shorter name was unambiguous only because its
grid properties lived on a separate GridProps type; in one flat style it
would sit beside padding with nothing saying which box model it belongs
to. Where v1 itself diverges from the reference, the reference wins — the
same clause that settled the bare container's defaults.
Optional ReadonlygridThe grid's row tracks.
Optional ReadonlyheightRequested height.
Optional ReadonlyjustifyMain-axis distribution of children.
Optional ReadonlyletterSpace added between characters. Inherits.
Optional ReadonlylineExtra space between lines, in pixels. Inherits.
Optional ReadonlylineHow tall a line box is. Inherits.
A number is a multiple of the font size and is recomputed by whoever
inherits it; '24px' is an absolute height and descends unchanged;
'150%' is a share of this element's size, resolved here and
inherited as the length it comes to. Leaving it out is CSS's normal,
which is not the same as 1.
Optional ReadonlymarginSpace outside the border.
Optional ReadonlymaskWhat of the node is drawn.
Covers everything the node renders — background, border, content and
children alike — as CSS's mask does, rather than only its contents.
Applied within the node's own box, so content pushed outside by
Style.transform is not masked back in.
Optional ReadonlymaxUpper bound on the height.
Optional ReadonlymaxUpper bound on the width.
Optional ReadonlyminLower bound on the height.
Optional ReadonlyminLower bound on the width.
Optional ReadonlymixHow this node composites onto what is beneath it.
Optional ReadonlyobjectHow an image fills its box.
Read only by an image, as CSS's object-fit applies to replaced elements
and is inert on everything else.
Optional ReadonlyobjectWhere the image sits in its box when it does not fill it.
CSS's object-position, as a horizontal and a vertical offset. Absent
centres it, which is CSS's own initial value and what the Rust surface
writes. Read only by an image.
Optional ReadonlyopacityOpacity of this node and its subtree, from 0 to 1.
Optional ReadonlyoverflowClipping behaviour, on both axes.
Optional ReadonlypaddingSpace inside the border.
Optional ReadonlypaintWhich of a glyph's fill and stroke is on top. Inherits.
Optional ReadonlypositionOffsets from the container's edges.
Optional ReadonlypositionWhether the node is placed by the flow or by its own offsets.
positionType, not position: v1 spells the offsets position, so the
two would collide. A caller porting a v1 tree writes both and neither means
the other.
Optional ReadonlytextHow lines sit within the text box. Inherits.
Optional ReadonlytextA line through, over or under. Inherits.
Optional ReadonlytextShadows cast by the glyphs, nearest first.
Distinct from Style.boxShadow: this follows the letterforms and that follows the border box.
Optional ReadonlytextAn outline drawn along the glyph edges. Inherits.
Optional ReadonlytransformMoves, turns and scales the node after it is laid out.
Applied about Transform.originX and Transform.originY,
which default to the middle of the box. Layout does not see it: a
transformed node still occupies the space it was given, as CSS's
transform does.
Optional ReadonlyverticalWhere a line sits within its box. Inherits.
Optional ReadonlywidthRequested width.
Optional ReadonlywordSpace added between words. Inherits.
Optional ReadonlyzPaint order among positioned siblings.
Everything a node can be styled with.
Flat, as CSS is flat and as the Rust
Styleis: a reader never has to know which groupgaplives in versusbackground. The renderer keeps the four groups because the wire format needs them separated.