pub struct Style {Show 56 fields
pub width: Option<Dimension>,
pub height: Option<Dimension>,
pub min_width: Option<Dimension>,
pub min_height: Option<Dimension>,
pub max_width: Option<Dimension>,
pub max_height: Option<Dimension>,
pub padding: Option<Edges>,
pub margin: Option<MarginEdges>,
pub display: Option<Display>,
pub flex_direction: Option<FlexDirection>,
pub justify_content: Option<JustifyContent>,
pub align_items: Option<AlignItems>,
pub align_self: Option<AlignItems>,
pub flex_wrap: Option<FlexWrap>,
pub align_content: Option<AlignContent>,
pub flex_grow: Option<f64>,
pub flex_shrink: Option<f64>,
pub flex_basis: Option<Dimension>,
pub gap: Option<f64>,
pub row_gap: Option<f64>,
pub column_gap: Option<f64>,
pub grid_template_columns: Option<Vec<GridTrackSize>>,
pub grid_template_rows: Option<Vec<GridTrackSize>>,
pub grid_auto_rows: Option<GridTrackSize>,
pub grid_auto_columns: Option<GridTrackSize>,
pub grid_placement: Option<GridPlacement>,
pub font_family: Option<String>,
pub font_size: Option<f64>,
pub font_weight: Option<u32>,
pub font_style: Option<FontStyle>,
pub line_height: Option<f64>,
pub text_align: Option<TextAlign>,
pub letter_spacing: Option<f64>,
pub text_decoration: Option<TextDecoration>,
pub text_transform: Option<TextTransform>,
pub hyphens: Option<Hyphens>,
pub lang: Option<String>,
pub direction: Option<Direction>,
pub text_overflow: Option<TextOverflow>,
pub line_breaking: Option<LineBreaking>,
pub overflow: Option<Overflow>,
pub color: Option<Color>,
pub background_color: Option<Color>,
pub opacity: Option<f64>,
pub border_width: Option<EdgeValues<f64>>,
pub border_color: Option<EdgeValues<Color>>,
pub border_radius: Option<CornerValues>,
pub position: Option<Position>,
pub top: Option<f64>,
pub right: Option<f64>,
pub bottom: Option<f64>,
pub left: Option<f64>,
pub wrap: Option<bool>,
pub break_before: Option<bool>,
pub min_widow_lines: Option<u32>,
pub min_orphan_lines: Option<u32>,
}Expand description
The complete set of style properties for a node.
Fields§
§width: Option<Dimension>Explicit width in points.
height: Option<Dimension>Explicit height in points.
min_width: Option<Dimension>Minimum width.
min_height: Option<Dimension>Minimum height.
max_width: Option<Dimension>Maximum width.
max_height: Option<Dimension>Maximum height.
padding: Option<Edges>Padding inside the border.
margin: Option<MarginEdges>Margin outside the border. Supports auto values for centering.
display: Option<Display>Display mode: flex (default) or grid.
flex_direction: Option<FlexDirection>Direction of the main axis.
justify_content: Option<JustifyContent>How to distribute space along the main axis.
align_items: Option<AlignItems>How to align items along the cross axis.
align_self: Option<AlignItems>Override align-items for this specific child.
flex_wrap: Option<FlexWrap>Whether flex items wrap to new lines.
align_content: Option<AlignContent>How to distribute space between flex lines on the cross axis.
flex_grow: Option<f64>Flex grow factor.
flex_shrink: Option<f64>Flex shrink factor.
flex_basis: Option<Dimension>Flex basis (initial main size).
gap: Option<f64>Gap between flex items.
row_gap: Option<f64>Row gap (overrides gap for rows).
column_gap: Option<f64>Column gap (overrides gap for columns).
grid_template_columns: Option<Vec<GridTrackSize>>Column track definitions (e.g., [Pt(100), Fr(1), Fr(2)]).
grid_template_rows: Option<Vec<GridTrackSize>>Row track definitions.
grid_auto_rows: Option<GridTrackSize>Auto-generated row size.
grid_auto_columns: Option<GridTrackSize>Auto-generated column size.
grid_placement: Option<GridPlacement>Grid placement for this child item.
font_family: Option<String>Font family name.
font_size: Option<f64>Font size in points.
font_weight: Option<u32>Font weight (100-900).
font_style: Option<FontStyle>Font style.
line_height: Option<f64>Line height as a multiplier of font size.
text_align: Option<TextAlign>Text alignment within the text block.
letter_spacing: Option<f64>Letter spacing in points.
text_decoration: Option<TextDecoration>Text decoration.
text_transform: Option<TextTransform>Text transform.
hyphens: Option<Hyphens>Hyphenation mode (CSS hyphens property).
lang: Option<String>BCP 47 language tag for hyphenation and line breaking.
direction: Option<Direction>Text direction (ltr, rtl, or auto).
text_overflow: Option<TextOverflow>Text overflow behavior (wrap, ellipsis, clip).
line_breaking: Option<LineBreaking>Line breaking algorithm: optimal (Knuth-Plass, default) or greedy.
overflow: Option<Overflow>Overflow behavior for container elements.
color: Option<Color>Text color.
background_color: Option<Color>Background color.
opacity: Option<f64>Opacity (0.0 - 1.0).
border_width: Option<EdgeValues<f64>>Border width for all sides.
border_color: Option<EdgeValues<Color>>Border color for all sides.
border_radius: Option<CornerValues>Border radius (uniform or per-corner).
position: Option<Position>Positioning mode (relative or absolute).
top: Option<f64>Top offset (for absolute positioning).
right: Option<f64>Right offset (for absolute positioning).
bottom: Option<f64>Bottom offset (for absolute positioning).
left: Option<f64>Left offset (for absolute positioning).
wrap: Option<bool>Whether this node can be broken across pages.
true = breakable (default for View, Text, Table).
false = keep on one page; if it doesn’t fit, move to next page.
break_before: Option<bool>Force a page break before this node.
min_widow_lines: Option<u32>Minimum number of lines to keep at the bottom of a page before breaking (widow control). Default: 2.
min_orphan_lines: Option<u32>Minimum number of lines to keep at the top of a new page after breaking (orphan control). Default: 2.
Implementations§
Source§impl Style
impl Style
Sourcepub fn resolve(
&self,
parent: Option<&ResolvedStyle>,
available_width: f64,
) -> ResolvedStyle
pub fn resolve( &self, parent: Option<&ResolvedStyle>, available_width: f64, ) -> ResolvedStyle
Resolve this style against a parent’s resolved style and available dimensions.