Skip to main content

CssPropertyType

Enum CssPropertyType 

Source
#[repr(C)]
pub enum CssPropertyType {
Show 180 variants CaretColor = 0, CaretAnimationDuration = 1, CaretWidth = 2, SelectionBackgroundColor = 3, SelectionColor = 4, SelectionRadius = 5, TextColor = 6, FontSize = 7, FontFamily = 8, FontWeight = 9, FontStyle = 10, TextAlign = 11, TextJustify = 12, VerticalAlign = 13, LetterSpacing = 14, TextIndent = 15, InitialLetter = 16, LineClamp = 17, HangingPunctuation = 18, TextCombineUpright = 19, UnicodeBidi = 20, TextBoxTrim = 21, TextBoxEdge = 22, DominantBaseline = 23, AlignmentBaseline = 24, InitialLetterAlign = 25, InitialLetterWrap = 26, ScrollbarGutter = 27, OverflowClipMargin = 28, Clip = 29, ExclusionMargin = 30, HyphenationLanguage = 31, LineHeight = 32, WordSpacing = 33, TabSize = 34, WhiteSpace = 35, Hyphens = 36, WordBreak = 37, OverflowWrap = 38, LineBreak = 39, ObjectFit = 40, ObjectPosition = 41, AspectRatio = 42, TextOrientation = 43, TextAlignLast = 44, TextTransform = 45, Direction = 46, UserSelect = 47, TextDecoration = 48, Cursor = 49, Display = 50, Float = 51, BoxSizing = 52, Width = 53, Height = 54, MinWidth = 55, MinHeight = 56, MaxWidth = 57, MaxHeight = 58, Position = 59, Top = 60, Right = 61, Left = 62, Bottom = 63, ZIndex = 64, FlexWrap = 65, FlexDirection = 66, FlexGrow = 67, FlexShrink = 68, FlexBasis = 69, JustifyContent = 70, AlignItems = 71, AlignContent = 72, ColumnGap = 73, RowGap = 74, GridTemplateColumns = 75, GridTemplateRows = 76, GridAutoColumns = 77, GridAutoRows = 78, GridColumn = 79, GridRow = 80, GridTemplateAreas = 81, GridAutoFlow = 82, JustifySelf = 83, JustifyItems = 84, Gap = 85, GridGap = 86, AlignSelf = 87, Font = 88, WritingMode = 89, Clear = 90, BackgroundContent = 91, BackgroundPosition = 92, BackgroundSize = 93, BackgroundRepeat = 94, OverflowX = 95, OverflowY = 96, OverflowBlock = 97, OverflowInline = 98, PaddingTop = 99, PaddingLeft = 100, PaddingRight = 101, PaddingBottom = 102, PaddingInlineStart = 103, PaddingInlineEnd = 104, MarginTop = 105, MarginLeft = 106, MarginRight = 107, MarginBottom = 108, BorderTopLeftRadius = 109, BorderTopRightRadius = 110, BorderBottomLeftRadius = 111, BorderBottomRightRadius = 112, BorderTopColor = 113, BorderRightColor = 114, BorderLeftColor = 115, BorderBottomColor = 116, BorderTopStyle = 117, BorderRightStyle = 118, BorderLeftStyle = 119, BorderBottomStyle = 120, BorderTopWidth = 121, BorderRightWidth = 122, BorderLeftWidth = 123, BorderBottomWidth = 124, BoxShadowLeft = 125, BoxShadowRight = 126, BoxShadowTop = 127, BoxShadowBottom = 128, ScrollbarTrack = 129, ScrollbarThumb = 130, ScrollbarButton = 131, ScrollbarCorner = 132, ScrollbarResizer = 133, ScrollbarWidth = 134, ScrollbarColor = 135, ScrollbarVisibility = 136, ScrollbarFadeDelay = 137, ScrollbarFadeDuration = 138, Opacity = 139, Visibility = 140, Transform = 141, TransformOrigin = 142, PerspectiveOrigin = 143, BackfaceVisibility = 144, MixBlendMode = 145, Filter = 146, BackdropFilter = 147, TextShadow = 148, BreakBefore = 149, BreakAfter = 150, BreakInside = 151, Orphans = 152, Widows = 153, BoxDecorationBreak = 154, ColumnCount = 155, ColumnWidth = 156, ColumnSpan = 157, ColumnFill = 158, ColumnRuleWidth = 159, ColumnRuleStyle = 160, ColumnRuleColor = 161, FlowInto = 162, FlowFrom = 163, ShapeOutside = 164, ShapeInside = 165, ClipPath = 166, ShapeMargin = 167, ShapeImageThreshold = 168, TableLayout = 169, BorderCollapse = 170, BorderSpacing = 171, CaptionSide = 172, EmptyCells = 173, Content = 174, CounterReset = 175, CounterIncrement = 176, ListStyleType = 177, ListStylePosition = 178, StringSet = 179,
}
Expand description

Represents a CSS key (for example "border-radius" => BorderRadius). You can also derive this key from a CssProperty by calling CssProperty::get_type().

Variants§

§

CaretColor = 0

§

CaretAnimationDuration = 1

§

CaretWidth = 2

§

SelectionBackgroundColor = 3

§

SelectionColor = 4

§

SelectionRadius = 5

§

TextColor = 6

§

FontSize = 7

§

FontFamily = 8

§

FontWeight = 9

§

FontStyle = 10

§

TextAlign = 11

§

TextJustify = 12

§

VerticalAlign = 13

§

LetterSpacing = 14

§

TextIndent = 15

§

InitialLetter = 16

§

LineClamp = 17

§

HangingPunctuation = 18

§

TextCombineUpright = 19

§

UnicodeBidi = 20

§

TextBoxTrim = 21

§

TextBoxEdge = 22

§

DominantBaseline = 23

§

AlignmentBaseline = 24

§

InitialLetterAlign = 25

§

InitialLetterWrap = 26

§

ScrollbarGutter = 27

§

OverflowClipMargin = 28

§

Clip = 29

§

ExclusionMargin = 30

§

HyphenationLanguage = 31

§

LineHeight = 32

§

WordSpacing = 33

§

TabSize = 34

§

WhiteSpace = 35

§

Hyphens = 36

§

WordBreak = 37

§

OverflowWrap = 38

§

LineBreak = 39

§

ObjectFit = 40

§

ObjectPosition = 41

§

AspectRatio = 42

§

TextOrientation = 43

§

TextAlignLast = 44

§

TextTransform = 45

§

Direction = 46

§

UserSelect = 47

§

TextDecoration = 48

§

Cursor = 49

§

Display = 50

§

Float = 51

§

BoxSizing = 52

§

Width = 53

§

Height = 54

§

MinWidth = 55

§

MinHeight = 56

§

MaxWidth = 57

§

MaxHeight = 58

§

Position = 59

§

Top = 60

§

Right = 61

§

Left = 62

§

Bottom = 63

§

ZIndex = 64

§

FlexWrap = 65

§

FlexDirection = 66

§

FlexGrow = 67

§

FlexShrink = 68

§

FlexBasis = 69

§

JustifyContent = 70

§

AlignItems = 71

§

AlignContent = 72

§

ColumnGap = 73

§

RowGap = 74

§

GridTemplateColumns = 75

§

GridTemplateRows = 76

§

GridAutoColumns = 77

§

GridAutoRows = 78

§

GridColumn = 79

§

GridRow = 80

§

GridTemplateAreas = 81

§

GridAutoFlow = 82

§

JustifySelf = 83

§

JustifyItems = 84

§

Gap = 85

§

GridGap = 86

§

AlignSelf = 87

§

Font = 88

§

WritingMode = 89

§

Clear = 90

§

BackgroundContent = 91

§

BackgroundPosition = 92

§

BackgroundSize = 93

§

BackgroundRepeat = 94

§

OverflowX = 95

§

OverflowY = 96

§

OverflowBlock = 97

§

OverflowInline = 98

§

PaddingTop = 99

§

PaddingLeft = 100

§

PaddingRight = 101

§

PaddingBottom = 102

§

PaddingInlineStart = 103

§

PaddingInlineEnd = 104

§

MarginTop = 105

§

MarginLeft = 106

§

MarginRight = 107

§

MarginBottom = 108

§

BorderTopLeftRadius = 109

§

BorderTopRightRadius = 110

§

BorderBottomLeftRadius = 111

§

BorderBottomRightRadius = 112

§

BorderTopColor = 113

§

BorderRightColor = 114

§

BorderLeftColor = 115

§

BorderBottomColor = 116

§

BorderTopStyle = 117

§

BorderRightStyle = 118

§

BorderLeftStyle = 119

§

BorderBottomStyle = 120

§

BorderTopWidth = 121

§

BorderRightWidth = 122

§

BorderLeftWidth = 123

§

BorderBottomWidth = 124

§

BoxShadowLeft = 125

§

BoxShadowRight = 126

§

BoxShadowTop = 127

§

BoxShadowBottom = 128

§

ScrollbarTrack = 129

§

ScrollbarThumb = 130

§

ScrollbarButton = 131

§

ScrollbarCorner = 132

§

ScrollbarResizer = 133

§

ScrollbarWidth = 134

§

ScrollbarColor = 135

§

ScrollbarVisibility = 136

§

ScrollbarFadeDelay = 137

§

ScrollbarFadeDuration = 138

§

Opacity = 139

§

Visibility = 140

§

Transform = 141

§

TransformOrigin = 142

§

PerspectiveOrigin = 143

§

BackfaceVisibility = 144

§

MixBlendMode = 145

§

Filter = 146

§

BackdropFilter = 147

§

TextShadow = 148

§

BreakBefore = 149

§

BreakAfter = 150

§

BreakInside = 151

§

Orphans = 152

§

Widows = 153

§

BoxDecorationBreak = 154

§

ColumnCount = 155

§

ColumnWidth = 156

§

ColumnSpan = 157

§

ColumnFill = 158

§

ColumnRuleWidth = 159

§

ColumnRuleStyle = 160

§

ColumnRuleColor = 161

§

FlowInto = 162

§

FlowFrom = 163

§

ShapeOutside = 164

§

ShapeInside = 165

§

ClipPath = 166

§

ShapeMargin = 167

§

ShapeImageThreshold = 168

§

TableLayout = 169

§

BorderCollapse = 170

§

BorderSpacing = 171

§

CaptionSide = 172

§

EmptyCells = 173

§

Content = 174

§

CounterReset = 175

§

CounterIncrement = 176

§

ListStyleType = 177

§

ListStylePosition = 178

§

StringSet = 179

Implementations§

Source§

impl CssPropertyType

Source

pub const ALL: &[Self]

All CSS property types, in declaration order.

Use this instead of strum’s EnumIter — ensures a compile error if a variant is added to the enum but not to this array.

Source

pub fn iter() -> impl Iterator<Item = Self>

Returns an iterator over all CSS property types.

Source§

impl CssPropertyType

Source

pub fn from_str(input: &str, map: &CssKeyMap) -> Option<Self>

Parses a CSS key, such as width from a string:

§Example
let map = get_css_key_map();
assert_eq!(
    Some(CssPropertyType::Width),
    CssPropertyType::from_str("width", &map)
);
assert_eq!(
    Some(CssPropertyType::JustifyContent),
    CssPropertyType::from_str("justify-content", &map)
);
assert_eq!(None, CssPropertyType::from_str("asdfasdfasdf", &map));
Source

pub const fn to_str(&self) -> &'static str

Returns the original string that was used to construct this CssPropertyType.

Source

pub const fn is_inheritable(&self) -> bool

Returns whether this property will be inherited during cascading Returns whether this CSS property is inherited by default according to CSS specifications.

Reference: https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Cascade/Inheritance

Source

pub const fn has_compact_encoding(&self) -> bool

Source

pub const fn get_category(&self) -> CssPropertyCategory

Source

pub const fn can_trigger_relayout(&self) -> bool

Returns whether this property can trigger a re-layout (important for incremental layout and caching layouted DOMs).

Source

pub const fn is_gpu_only_property(&self) -> bool

Returns whether the property is a GPU property (currently only opacity and transforms)

Source

pub const fn relayout_scope(&self, node_is_ifc_member: bool) -> RelayoutScope

Context-dependent relayout scope for a CSS property change.

This is a more granular replacement for can_trigger_relayout(). Instead of returning a flat bool, it classifies the property change into one of four impact levels (see RelayoutScope).

Inspired by Taffy’s binary dirty flag, extended with CSS-specific knowledge: font/text changes only affect IFC, sizing changes don’t require full subtree relayout, and paint-only changes skip layout entirely.

node_is_ifc_member: whether this node participates in an IFC (has inline formatting context membership). When true, font/text property changes trigger IFC-only relayout instead of being ignored.

Trait Implementations§

Source§

impl Clone for CssPropertyType

Source§

fn clone(&self) -> CssPropertyType

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for CssPropertyType

Source§

impl Debug for CssPropertyType

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for CssPropertyType

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for CssPropertyType

Source§

impl Hash for CssPropertyType

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Ord for CssPropertyType

Source§

fn cmp(&self, other: &CssPropertyType) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 (const: unstable) · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 (const: unstable) · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 (const: unstable) · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for CssPropertyType

Source§

fn eq(&self, other: &CssPropertyType) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl PartialOrd for CssPropertyType

Source§

fn partial_cmp(&self, other: &CssPropertyType) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 (const: unstable) · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 (const: unstable) · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 (const: unstable) · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 (const: unstable) · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl StructuralPartialEq for CssPropertyType

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> GetHash for T
where T: Hash,

Source§

fn get_hash(&self) -> u64

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.