pub struct Style {Show 29 fields
pub display: Display,
pub position: Position,
pub inset: Rect<LengthPercentageAuto>,
pub size: Size<Dimension>,
pub min_size: Size<Dimension>,
pub max_size: Size<Dimension>,
pub aspect_ratio: Option<f32>,
pub margin: Rect<LengthPercentageAuto>,
pub padding: Rect<LengthPercentage>,
pub border: Rect<LengthPercentage>,
pub align_items: Option<AlignItems>,
pub align_self: Option<AlignSelf>,
pub justify_items: Option<AlignItems>,
pub justify_self: Option<AlignSelf>,
pub align_content: Option<AlignContent>,
pub justify_content: Option<JustifyContent>,
pub gap: Size<LengthPercentage>,
pub flex_direction: FlexDirection,
pub flex_wrap: FlexWrap,
pub flex_basis: Dimension,
pub flex_grow: f32,
pub flex_shrink: f32,
pub grid_template_rows: Vec<TrackSizingFunction>,
pub grid_template_columns: Vec<TrackSizingFunction>,
pub grid_auto_rows: Vec<NonRepeatedTrackSizingFunction>,
pub grid_auto_columns: Vec<NonRepeatedTrackSizingFunction>,
pub grid_auto_flow: GridAutoFlow,
pub grid_row: Line<GridPlacement>,
pub grid_column: Line<GridPlacement>,
}
Expand description
The flexbox layout information for a single Node
.
The most important idea in flexbox is the notion of a “main” and “cross” axis, which are always perpendicular to each other.
The orientation of these axes are controlled via the FlexDirection
field of this struct.
This struct follows the CSS equivalent directly; information about the behavior on the web should transfer directly.
Detailed information about the exact behavior of each of these fields can be found on MDN by searching for the field name. The distinction between margin, padding and border is explained well in this introduction to the box model.
If the behavior does not match the flexbox layout algorithm on the web, please file a bug!
Fields§
§display: Display
What layout strategy should be used?
position: Position
What should the position
value of this struct use as a base offset?
inset: Rect<LengthPercentageAuto>
How should the position of this element be tweaked relative to the layout defined?
size: Size<Dimension>
Sets the initial size of the item
min_size: Size<Dimension>
Controls the minimum size of the item
max_size: Size<Dimension>
Controls the maximum size of the item
aspect_ratio: Option<f32>
Sets the preferred aspect ratio for the item
The ratio is calculated as width divided by height.
margin: Rect<LengthPercentageAuto>
How large should the margin be on each side?
padding: Rect<LengthPercentage>
How large should the padding be on each side?
border: Rect<LengthPercentage>
How large should the border be on each side?
align_items: Option<AlignItems>
How this node’s children aligned in the cross/block axis?
align_self: Option<AlignSelf>
How this node should be aligned in the cross/block axis
Falls back to the parents AlignItems
if not set
justify_items: Option<AlignItems>
How this node’s children should be aligned in the inline axis
justify_self: Option<AlignSelf>
How this node should be aligned in the inline axis
Falls back to the parents JustifyItems
if not set
align_content: Option<AlignContent>
How should content contained within this item be aligned in the cross/block axis
justify_content: Option<JustifyContent>
How should contained within this item be aligned in the main/inline axis
gap: Size<LengthPercentage>
How large should the gaps between items in a grid or flex container be?
flex_direction: FlexDirection
Which direction does the main axis flow in?
flex_wrap: FlexWrap
Should elements wrap, or stay in a single line?
flex_basis: Dimension
Sets the initial main axis size of the item
flex_grow: f32
The relative rate at which this item grows when it is expanding to fill space
0.0 is the default value, and this value must be positive.
flex_shrink: f32
The relative rate at which this item shrinks when it is contracting to fit into space
1.0 is the default value, and this value must be positive.
grid_template_rows: Vec<TrackSizingFunction>
Defines the track sizing functions (widths) of the grid rows
grid_template_columns: Vec<TrackSizingFunction>
Defines the track sizing functions (heights) of the grid columns
grid_auto_rows: Vec<NonRepeatedTrackSizingFunction>
Defines the size of implicitly created rows
grid_auto_columns: Vec<NonRepeatedTrackSizingFunction>
Defined the size of implicitly created columns
grid_auto_flow: GridAutoFlow
Controls how items get placed into the grid for auto-placed items
grid_row: Line<GridPlacement>
Defines which row in the grid the item should start and end at
grid_column: Line<GridPlacement>
Defines which column in the grid the item should start and end at