| Name |
Type |
Default value |
Description |
|---|
| AlignContent |
BitAlignment? |
null |
Gets or sets how the rows of a wrapping stack share out the room left over on the cross axis (the CSS align-content). It only says something once Wrap has produced more than one row and the stack is larger than those rows across. Baseline has no meaning for align-content on a flex container and is dropped. |
| Alignment |
BitAlignment? |
null |
Gets or sets the alignment of the children of the stack on both axes at once. This is the shorthand of setting HorizontalAlign and VerticalAlign to the same value, and each of those takes precedence over it on its own axis. A specific alignment that means nothing on the axis it was given to steps aside for this shorthand rather than silencing it. |
| AutoHeight |
bool |
false |
Makes the height of the stack follow its content instead of filling its parent. |
| AutoSize |
bool |
false |
Makes both the width and the height of the stack follow its content instead of filling its parent. This is the shorthand of setting AutoWidth and AutoHeight together. |
| AutoWidth |
bool |
false |
Makes the width of the stack follow its content instead of filling its parent. |
| Basis |
string? |
null |
Gets or sets the size this stack starts from before the leftover space of its own container is shared out (the CSS flex-basis), measured along the axis of that container. A basis of 0 takes the content of the stack out of the sum, so several stacks that also grow end up the same size as each other however much each of them holds. |
| ChildContent |
RenderFragment? |
null |
The content of the stack. |
| Element |
string? |
null |
Gets or sets the custom html element used for the root node, "div" by default. Only the tag name changes, and with it the semantics reported to assistive technologies, so a landmark element given here is worth pairing with an AriaLabel that names it. A stack rendered as a ul, an ol or a menu is also given an explicit list role, since some browsers drop the list semantics of those elements as soon as they are laid out as a flex container, and a role among the splatted html attributes still replaces it. |
| EqualContent |
bool |
false |
Gives every direct child of the stack an equal share of the axis they are laid out along, whatever each of them holds, so a row of three ends up in exact thirds. That is the difference from GrowContent, which lays the children out at their natural size first and only shares out what is left over. |
| FillContent |
bool |
false |
Expands the direct children of the stack across the axis they are not laid out along: the full width in a column and the full height in a row. The size is forced, so a child that states a size of its own across that axis is overridden. A wrapping stack, and one whose direction changes with the width of the window, fills the row each child landed on instead, as a stretch that leaves a child that stated a size alone. Sharing the other axis out between the children is what GrowContent does, and the two combine. |
| FitHeight |
bool |
false |
Sets the height of the stack to fit its content. Unlike AutoHeight this also holds when the stack is a child of another flex container that would otherwise stretch it. |
| FitSize |
bool |
false |
Sets the width and height of the stack to fit its content. This is the shorthand of setting FitWidth and FitHeight together. |
| FitWidth |
bool |
false |
Sets the width of the stack to fit its content. Unlike AutoWidth this also holds when the stack is a child of another flex container that would otherwise stretch it. |
| Gap |
string? |
null |
Gets or sets the spacing between the children of the stack, using any CSS length value, 1rem by default. It takes one length for both axes, or two - the vertical one followed by the horizontal one - for a wrapping stack. HorizontalGap and VerticalGap each replace it on their own axis, GapXs to GapXxl each replace it from their own breakpoint upwards, and it takes precedence over the Size picked from the spacing scale of the theme. |
| GapXs |
string? |
null |
Gets or sets the spacing between the children of the stack from the extra small breakpoint (from 0px) upwards, using any CSS length value. The value keeps applying to every wider breakpoint until another one replaces it, and Gap is the base of that chain. This is the pair of HorizontalXs for the spacing rather than the direction, and the two are most often set together. |
| GapSm |
string? |
null |
Gets or sets the spacing between the children of the stack from the small breakpoint (from 600px) upwards. The value keeps applying to every wider breakpoint until another one replaces it. |
| GapMd |
string? |
null |
Gets or sets the spacing between the children of the stack from the medium breakpoint (from 960px) upwards. The value keeps applying to every wider breakpoint until another one replaces it. |
| GapLg |
string? |
null |
Gets or sets the spacing between the children of the stack from the large breakpoint (from 1280px) upwards. The value keeps applying to every wider breakpoint until another one replaces it. |
| GapXl |
string? |
null |
Gets or sets the spacing between the children of the stack from the extra large breakpoint (from 1920px) upwards. The value keeps applying to every wider breakpoint until another one replaces it. |
| GapXxl |
string? |
null |
Gets or sets the spacing between the children of the stack from the extra extra large breakpoint (from 2560px) upwards. |
| Grow |
string? |
null |
Gets or sets how much of the leftover space of its own container this stack takes compared to its siblings (the CSS flex-grow factor). It describes the stack as a child of another flex container, so it needs a parent with room to share out to mean anything, and it takes precedence over Grows. |
| GrowContent |
bool |
false |
Lets every direct child of the stack grow into the room the stack has left over along the axis they are laid out on, so what is left after they have all been laid out at their natural size is shared out between them equally. A child that holds more therefore stays larger than one that holds less, which is where EqualContent differs. Expanding them across the other axis is what FillContent does, and the two combine. |
| Grows |
bool |
false |
Makes the stack take the space its own container has left over (a CSS flex-grow factor of 1). This is Grow with the factor every layout reaches for first, and Grow replaces it when both are set. |
| Horizontal |
bool |
false |
Renders the children of the stack side by side in a row instead of stacked in a column. This is the direction of the stack at every width, and HorizontalXs to HorizontalXxl replace it from their own breakpoint upwards. |
| HorizontalAlign |
BitAlignment? |
null |
Gets or sets how the children of the stack are placed on the horizontal axis. In a horizontal stack that is the axis they are laid out along, so the space distributions apply and Baseline does not; in a vertical one it is the axis across them, so Baseline and Stretch apply and the space distributions do not. A value that means nothing on the axis it lands on steps aside for Alignment. Which of the two axes this is follows the direction each breakpoint gives, so a stack that changes direction with the width of the window is realigned along with it. |
| HorizontalGap |
string? |
null |
Gets or sets the spacing between the children of the stack measured along the horizontal axis, using any CSS length value. This is the room between the columns, and it replaces Gap and Size on this axis alone. HorizontalGapXs to HorizontalGapXxl each replace it from their own breakpoint upwards. |
| HorizontalGapXs |
string? |
null |
Gets or sets the spacing between the children of the stack measured along the horizontal axis from the extra small breakpoint (from 0px) upwards. The value keeps applying to every wider breakpoint until another one replaces it, and HorizontalGap is the base of that chain. A breakpoint this chain never reaches falls back to whatever the Gap chain resolves to there, so only the axis that needs its own answer has to be written out. |
| HorizontalGapSm |
string? |
null |
Gets or sets the spacing between the children of the stack measured along the horizontal axis from the small breakpoint (from 600px) upwards. The value keeps applying to every wider breakpoint until another one replaces it. |
| HorizontalGapMd |
string? |
null |
Gets or sets the spacing between the children of the stack measured along the horizontal axis from the medium breakpoint (from 960px) upwards. The value keeps applying to every wider breakpoint until another one replaces it. |
| HorizontalGapLg |
string? |
null |
Gets or sets the spacing between the children of the stack measured along the horizontal axis from the large breakpoint (from 1280px) upwards. The value keeps applying to every wider breakpoint until another one replaces it. |
| HorizontalGapXl |
string? |
null |
Gets or sets the spacing between the children of the stack measured along the horizontal axis from the extra large breakpoint (from 1920px) upwards. The value keeps applying to every wider breakpoint until another one replaces it. |
| HorizontalGapXxl |
string? |
null |
Gets or sets the spacing between the children of the stack measured along the horizontal axis from the extra extra large breakpoint (from 2560px) upwards. |
| HorizontalXs |
bool? |
null |
Gets or sets the direction of the stack from the extra small breakpoint (from 0px) upwards: true lays the children out in a row and false in a column. The value keeps applying to every wider breakpoint until another one replaces it, and Horizontal is the base of that chain. HorizontalAlign and VerticalAlign follow the direction each breakpoint gives, so the stack is realigned along with it. |
| HorizontalSm |
bool? |
null |
Gets or sets the direction of the stack from the small breakpoint (from 600px) upwards. The value keeps applying to every wider breakpoint until another one replaces it. |
| HorizontalMd |
bool? |
null |
Gets or sets the direction of the stack from the medium breakpoint (from 960px) upwards. The value keeps applying to every wider breakpoint until another one replaces it. |
| HorizontalLg |
bool? |
null |
Gets or sets the direction of the stack from the large breakpoint (from 1280px) upwards. The value keeps applying to every wider breakpoint until another one replaces it. |
| HorizontalXl |
bool? |
null |
Gets or sets the direction of the stack from the extra large breakpoint (from 1920px) upwards. The value keeps applying to every wider breakpoint until another one replaces it. |
| HorizontalXxl |
bool? |
null |
Gets or sets the direction of the stack from the extra extra large breakpoint (from 2560px) upwards. |
| Inline |
bool |
false |
Renders the stack as an inline box, so it flows with the text around it instead of starting a line of its own and is sized by its content rather than by the box around it. Nothing about the layout of the children changes; only the outside of the stack does, and a size given through Style or through the Fit and Auto parameters still wins. |
| NoShrink |
bool |
false |
Keeps the stack at its natural size when its own container runs out of room, instead of letting it be squeezed, so the space has to come from its siblings instead. Shrink is the same thing with a factor of its own and takes precedence over it. |
| NoShrinkContent |
bool |
false |
Keeps every direct child of the stack at its natural size when the stack runs out of room, so what no longer fits overflows the stack - or moves onto another row, if Wrap was asked for - rather than being crushed into it. This is NoShrink applied to the children rather than to the stack itself. |
| Order |
int? |
null |
Gets or sets the position of the stack among the children of its own container (the CSS order). Only the painted order changes: the order the content is read in by a screen reader and reached in by the keyboard stays the order it is written in. |
| Padding |
string? |
null |
Gets or sets the inner padding of the stack, using any CSS padding value: one length pads every side, two pad the block and then the inline axis, and four pad each side in turn. The stack is sized border-box, so the padding is taken out of the size it already has rather than added to it. A padding that answers to the width of the window is a fluid length such as clamp(0.5rem, 2vw, 2rem), since there is no per breakpoint chain for it. |
| Reversed |
bool |
false |
Renders the children of the stack in the opposite direction (bottom-to-top in a vertical stack, and end-to-start in a horizontal one). Only the painted order is reversed: the order the children are read in by a screen reader and reached in by the keyboard stays the order they are written in. |
| Self |
BitAlignment? |
null |
Gets or sets how the stack itself is placed across the axis of its own container (the CSS align-self), overriding for this one child whatever that container aligns its children with. The three space distributions share room out between several children, which a single child cannot do, so they are ignored. |
| Shrink |
string? |
null |
Gets or sets how much of what its own container is short of this stack gives up compared to its siblings (the CSS flex-shrink factor). Every flex child answers for a factor of 1 by default, and NoShrink is this with the factor a layout reaches for most, zero. |
| Shrinkable |
bool |
false |
Lets the stack shrink below the size of what it holds when its own container runs out of room, by lifting the automatic minimum size a flex child has on both axes. That floor is why a nested stack refuses to shrink far enough for the text inside it to be truncated with an ellipsis or for a pane to scroll instead of the page growing. It is about how far the stack may be squeezed, where NoShrink is about whether it is squeezed at all. |
| Size |
BitSize? |
null |
Gets or sets the spacing between the children of the stack, picked from the spacing scale of the theme, so it follows the spacing unit and the density of the current theme instead of being hardcoded. Gap, HorizontalGap and VerticalGap each take precedence over it on the axis they target. |
| VerticalAlign |
BitAlignment? |
null |
Gets or sets how the children of the stack are placed on the vertical axis. In a vertical stack that is the axis they are laid out along, so the space distributions apply and Baseline does not; in a horizontal one it is the axis across them, so Baseline and Stretch apply and the space distributions do not. A value that means nothing on the axis it lands on steps aside for Alignment. Which of the two axes this is follows the direction each breakpoint gives, so a stack that changes direction with the width of the window is realigned along with it. |
| VerticalGap |
string? |
null |
Gets or sets the spacing between the children of the stack measured along the vertical axis, using any CSS length value. This is the room between the rows, and it replaces Gap and Size on this axis alone. VerticalGapXs to VerticalGapXxl each replace it from their own breakpoint upwards. |
| VerticalGapXs |
string? |
null |
Gets or sets the spacing between the children of the stack measured along the vertical axis from the extra small breakpoint (from 0px) upwards. The value keeps applying to every wider breakpoint until another one replaces it, and VerticalGap is the base of that chain. A breakpoint this chain never reaches falls back to whatever the Gap chain resolves to there, so only the axis that needs its own answer has to be written out. |
| VerticalGapSm |
string? |
null |
Gets or sets the spacing between the children of the stack measured along the vertical axis from the small breakpoint (from 600px) upwards. The value keeps applying to every wider breakpoint until another one replaces it. |
| VerticalGapMd |
string? |
null |
Gets or sets the spacing between the children of the stack measured along the vertical axis from the medium breakpoint (from 960px) upwards. The value keeps applying to every wider breakpoint until another one replaces it. |
| VerticalGapLg |
string? |
null |
Gets or sets the spacing between the children of the stack measured along the vertical axis from the large breakpoint (from 1280px) upwards. The value keeps applying to every wider breakpoint until another one replaces it. |
| VerticalGapXl |
string? |
null |
Gets or sets the spacing between the children of the stack measured along the vertical axis from the extra large breakpoint (from 1920px) upwards. The value keeps applying to every wider breakpoint until another one replaces it. |
| VerticalGapXxl |
string? |
null |
Gets or sets the spacing between the children of the stack measured along the vertical axis from the extra extra large breakpoint (from 2560px) upwards. |
| Wrap |
bool |
false |
Lets the children of the stack move onto more rows when they no longer fit on one. Without it they are squeezed to fit rather than moved. AlignContent is what places the rows a wrapping stack produces, and WrapXs to WrapXxl replace this from their own breakpoint upwards. |
| WrapXs |
bool? |
null |
Gets or sets whether the children of the stack may move onto more rows, from the extra small breakpoint (from 0px) upwards: true lets them wrap and false keeps them on one row. The value keeps applying to every wider breakpoint until another one replaces it, and Wrap is the base of that chain. WrapReverse is not part of it: it is the way every breakpoint that wraps at all wraps. |
| WrapSm |
bool? |
null |
Gets or sets whether the children of the stack may move onto more rows, from the small breakpoint (from 600px) upwards. The value keeps applying to every wider breakpoint until another one replaces it. |
| WrapMd |
bool? |
null |
Gets or sets whether the children of the stack may move onto more rows, from the medium breakpoint (from 960px) upwards. The value keeps applying to every wider breakpoint until another one replaces it. |
| WrapLg |
bool? |
null |
Gets or sets whether the children of the stack may move onto more rows, from the large breakpoint (from 1280px) upwards. The value keeps applying to every wider breakpoint until another one replaces it. |
| WrapXl |
bool? |
null |
Gets or sets whether the children of the stack may move onto more rows, from the extra large breakpoint (from 1920px) upwards. The value keeps applying to every wider breakpoint until another one replaces it. |
| WrapXxl |
bool? |
null |
Gets or sets whether the children of the stack may move onto more rows, from the extra extra large breakpoint (from 2560px) upwards. |
| WrapReverse |
bool |
false |
Lets the children of the stack move onto more rows when they no longer fit on one, with the rows laid out from the far edge of the stack back towards the near one. It takes precedence over Wrap when both are set. |