public struct LayoutStyleEverything a node's layout depends on, as one unmanaged value.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
All nine edges are stored, including the Horizontal, Vertical and All shorthands, because CSS resolves them by precedence at read time rather than by expansion at write time: setting All and then Left is not the same document as setting Left and then All, and a store that expanded on write could not tell them apart.
This is around 400 bytes — doc 09's estimate of 120 was made before the edge shorthands and the writing-mode-relative pair were counted. A hundred thousand nodes is therefore about 40 MB in four allocations, against the reference port's several hundred thousand heap objects for the same tree, which is the comparison ADR-006 was actually making.
Fields and properties (49)
public static readonly LayoutStyle DefaultA style with every CSS initial value, which is not the same as all zeroes.
public Direction DirectionWhich way the inline axis runs.
public FlexDirection FlexDirectionThe main axis.
public Justify JustifyContentMain-axis distribution.
public Align AlignContentCross-axis distribution of the lines.
public Align AlignItemsCross-axis placement of the items.
public Align AlignSelfThis node's own cross-axis placement, overriding its parent's.
public OverflowAlignment JustifyContentOverflowWhether JustifyContent gives up and packs at the start on overflow.
public OverflowAlignment AlignContentOverflowpublic OverflowAlignment AlignItemsOverflowpublic OverflowAlignment AlignSelfOverflowpublic LegacyTextAlign LegacyTextAlignWhere this block container puts its block-level children on the inline axis.
public TextAlign TextAlignWhere the items on this container's line boxes sit along the inline axis.
public FloatSide FloatWhich side this box floats to, or None.
public Clear ClearWhich earlier floats this box refuses to sit beside.
public PositionType PositionTypeHow this node is positioned.
public Wrap FlexWrapWhether the line wraps.
public Overflow OverflowXWhat happens to content that does not fit across the node.
public Overflow OverflowYWhat happens to content that does not fit down the node.
public float ScrollbarWidthHow much room a scrollbar takes out of this node, in points.
public Containment ContainmentWhat this node promises about its contents. CSS Containment 2's contain.
public Display DisplayWhether the node is laid out at all.
public BoxSizing BoxSizingWhat the dimensions measure.
public VerticalAlign VerticalAlignHow this box sits against the line box it is on, if it is on one.
public float VerticalAlignOffsetHow far Offset raises this box off the baseline. Negative lowers it.
public StrutMetrics StrutThe font metrics every line box in this container starts from. CSS 2.1 §10.8's strut.
public int OrderWhich ordinal group this item is laid out and painted in.
public float FlexThe flex shorthand, if it was the thing that was set.
public float FlexGrowHow much of the leftover space this node takes.
public float FlexShrinkHow much of an overflow this node absorbs.
public StyleLength FlexBasisThe main size before growing and shrinking.
public float AspectRatioThe width-to-height ratio the node is forced into.
public EdgeLengths MarginOutside the border box.
public EdgeLengths PositionThe offset applied by Relative and Absolute.
public EdgeLengths PaddingInside the border, outside the content.
public EdgeLengths BorderBetween padding and margin.
public GutterLengths GapBetween items and between lines.
public DimensionLengths DimensionsThe requested size.
public DimensionLengths MinDimensionsThe floor.
public DimensionLengths MaxDimensionsThe ceiling.
public GridAutoFlow GridAutoFlowWhich axis grid auto-placement fills, and whether it backfills holes.
public Align JustifyItemsThe inline-axis placement of every child of a grid container.
public Align JustifySelfThis item's own inline-axis placement, overriding its container's.
public OverflowAlignment JustifyItemsOverflowpublic OverflowAlignment JustifySelfOverflowpublic GridPlacement GridRowStartWhich row this item starts in.
public GridPlacement GridRowEndWhich row this item ends before.
public GridPlacement GridColumnStartWhich column this item starts in.
public GridPlacement GridColumnEndWhich column this item ends before.
Used by (15)
- BridgeFixtureVixen.Ui.Tests
- ConformanceMeasureVixen.Ui.Layout.Tests
- ContentSizingTestsVixen.Ui.Layout.Tests
- DisplayKeywordSurfaceTestsVixen.Ui.Tests
- FlexShrinkFromCssTestsVixen.Ui.Tests
- LayoutStyleBridgeTestsVixen.Ui.Tests
- LayoutStyleBuilderVixen.Ui
- LayoutTreeVixen.Ui.Layout
- LayoutTreeTestsVixen.Ui.Layout.Tests
- LineHeightUnitTestsVixen.Ui.Tests
- OverflowTestsVixen.Ui.Tests
- SafeAlignmentFromCssTestsVixen.Ui.Tests
- StyleResolutionVixen.Ui.Layout
- TaffyStyleMapVixen.Ui.Layout.Tests
- UiDocumentVixen.Ui