| //! Style types for controlling alignment |
| |
| /// Used to control how child nodes are aligned. |
| /// For Flexbox it controls alignment in the cross axis |
| /// For Grid it controls alignment in the block axis |
| /// |
| /// [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/align-items) |
| #[derive(Copy, Clone, PartialEq, Eq, Debug)] |
| #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] |
| pub enum AlignItems { |
| /// Items are packed toward the start of the axis |
| Start, |
| /// Items are packed toward the end of the axis |
| End, |
| /// Items are packed towards the flex-relative start of the axis. |
| /// |
| /// For flex containers with flex_direction RowReverse or ColumnReverse this is equivalent |
| /// to End. In all other cases it is equivalent to Start. |
| FlexStart, |
| /// Items are packed towards the flex-relative end of the axis. |
| /// |
| /// For flex containers with flex_direction RowReverse or ColumnReverse this is equivalent |
| /// to Start. In all other cases it is equivalent to End. |
| FlexEnd, |
| /// Items are packed along the center of the cross axis |
| Center, |
| /// Items are aligned such as their baselines align |
| Baseline, |
| /// Stretch to fill the container |
| Stretch, |
| } |
| /// Used to control how child nodes are aligned. |
| /// Does not apply to Flexbox, and will be ignored if specified on a flex container |
| /// For Grid it controls alignment in the inline axis |
| /// |
| /// [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/justify-items) |
| pub type JustifyItems = AlignItems; |
| /// Controls alignment of an individual node |
| /// |
| /// Overrides the parent Node's `AlignItems` property. |
| /// For Flexbox it controls alignment in the cross axis |
| /// For Grid it controls alignment in the block axis |
| /// |
| /// [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/align-self) |
| pub type AlignSelf = AlignItems; |
| /// Controls alignment of an individual node |
| /// |
| /// Overrides the parent Node's `JustifyItems` property. |
| /// Does not apply to Flexbox, and will be ignored if specified on a flex child |
| /// For Grid it controls alignment in the inline axis |
| /// |
| /// [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/justify-self) |
| pub type JustifySelf = AlignItems; |
| |
| /// Sets the distribution of space between and around content items |
| /// For Flexbox it controls alignment in the cross axis |
| /// For Grid it controls alignment in the block axis |
| /// |
| /// [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/align-content) |
| #[derive(Copy, Clone, PartialEq, Eq, Debug)] |
| #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] |
| pub enum AlignContent { |
| /// Items are packed toward the start of the axis |
| Start, |
| /// Items are packed toward the end of the axis |
| End, |
| /// Items are packed towards the flex-relative start of the axis. |
| /// |
| /// For flex containers with flex_direction RowReverse or ColumnReverse this is equivalent |
| /// to End. In all other cases it is equivalent to Start. |
| FlexStart, |
| /// Items are packed towards the flex-relative end of the axis. |
| /// |
| /// For flex containers with flex_direction RowReverse or ColumnReverse this is equivalent |
| /// to Start. In all other cases it is equivalent to End. |
| FlexEnd, |
| /// Items are centered around the middle of the axis |
| Center, |
| /// Items are stretched to fill the container |
| Stretch, |
| /// The first and last items are aligned flush with the edges of the container (no gap) |
| /// The gap between items is distributed evenly. |
| SpaceBetween, |
| /// The gap between the first and last items is exactly THE SAME as the gap between items. |
| /// The gaps are distributed evenly |
| SpaceEvenly, |
| /// The gap between the first and last items is exactly HALF the gap between items. |
| /// The gaps are distributed evenly in proportion to these ratios. |
| SpaceAround, |
| } |
| |
| /// Sets the distribution of space between and around content items |
| /// For Flexbox it controls alignment in the main axis |
| /// For Grid it controls alignment in the inline axis |
| /// |
| /// [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content) |
| pub type JustifyContent = AlignContent; |