Skip to main content

CssPropertyType

Enum CssPropertyType 

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

§

Animation = 2

§

AnimationIn = 3

§

AnimationOut = 4

§

CaretWidth = 5

§

SelectionBackgroundColor = 6

§

SelectionColor = 7

§

SelectionRadius = 8

§

TextColor = 9

§

FontSize = 10

§

FontFamily = 11

§

FontWeight = 12

§

FontStyle = 13

§

TextAlign = 14

§

TextJustify = 15

§

VerticalAlign = 16

§

LetterSpacing = 17

§

TextIndent = 18

§

InitialLetter = 19

§

LineClamp = 20

§

HangingPunctuation = 21

§

TextCombineUpright = 22

§

UnicodeBidi = 23

§

TextBoxTrim = 24

§

TextBoxEdge = 25

§

DominantBaseline = 26

§

AlignmentBaseline = 27

§

BaselineSource = 28

§

LineFitEdge = 29

§

InitialLetterAlign = 30

§

InitialLetterWrap = 31

§

ScrollbarGutter = 32

§

OverflowClipMargin = 33

§

Clip = 34

§

ExclusionMargin = 35

§

HyphenationLanguage = 36

§

LineHeight = 37

§

WordSpacing = 38

§

TabSize = 39

§

WhiteSpace = 40

§

Hyphens = 41

§

WordBreak = 42

§

OverflowWrap = 43

§

LineBreak = 44

§

TextOverflow = 45

§

ObjectFit = 46

§

ObjectPosition = 47

§

AspectRatio = 48

§

TextOrientation = 49

§

TextAlignLast = 50

§

TextTransform = 51

§

Direction = 52

§

UserSelect = 53

§

TextDecoration = 54

§

Cursor = 55

§

Display = 56

§

Float = 57

§

BoxSizing = 58

§

Width = 59

§

Height = 60

§

MinWidth = 61

§

MinHeight = 62

§

MaxWidth = 63

§

MaxHeight = 64

§

Position = 65

§

Top = 66

§

Right = 67

§

Left = 68

§

Bottom = 69

§

ZIndex = 70

§

FlexWrap = 71

§

FlexDirection = 72

§

FlexGrow = 73

§

FlexShrink = 74

§

FlexBasis = 75

§

JustifyContent = 76

§

AlignItems = 77

§

AlignContent = 78

§

ColumnGap = 79

§

RowGap = 80

§

GridTemplateColumns = 81

§

GridTemplateRows = 82

§

GridAutoColumns = 83

§

GridAutoRows = 84

§

GridColumn = 85

§

GridRow = 86

§

GridTemplateAreas = 87

§

GridAutoFlow = 88

§

JustifySelf = 89

§

JustifyItems = 90

§

Gap = 91

§

GridGap = 92

§

AlignSelf = 93

§

Font = 94

§

WritingMode = 95

§

Clear = 96

§

BackgroundContent = 97

§

BackgroundPosition = 98

§

BackgroundSize = 99

§

BackgroundRepeat = 100

§

OverflowX = 101

§

OverflowY = 102

§

OverflowBlock = 103

§

OverflowInline = 104

§

PaddingTop = 105

§

PaddingLeft = 106

§

PaddingRight = 107

§

PaddingBottom = 108

§

PaddingInlineStart = 109

§

PaddingInlineEnd = 110

§

MarginTop = 111

§

MarginLeft = 112

§

MarginRight = 113

§

MarginBottom = 114

§

BorderTopLeftRadius = 115

§

BorderTopRightRadius = 116

§

BorderBottomLeftRadius = 117

§

BorderBottomRightRadius = 118

§

BorderTopColor = 119

§

BorderRightColor = 120

§

BorderLeftColor = 121

§

BorderBottomColor = 122

§

BorderTopStyle = 123

§

BorderRightStyle = 124

§

BorderLeftStyle = 125

§

BorderBottomStyle = 126

§

BorderTopWidth = 127

§

BorderRightWidth = 128

§

BorderLeftWidth = 129

§

BorderBottomWidth = 130

§

BoxShadowLeft = 131

§

BoxShadowRight = 132

§

BoxShadowTop = 133

§

BoxShadowBottom = 134

§

ScrollbarTrack = 135

§

ScrollbarThumb = 136

§

ScrollbarButton = 137

§

ScrollbarCorner = 138

§

ScrollbarResizer = 139

§

ScrollbarWidth = 140

§

OverscrollBehaviorX = 141

§

OverscrollBehaviorY = 142

§

ScrollbarColor = 143

§

ScrollbarVisibility = 144

§

ScrollbarFadeDelay = 145

§

ScrollbarFadeDuration = 146

§

Opacity = 147

§

Visibility = 148

§

Transform = 149

§

TransformOrigin = 150

§

PerspectiveOrigin = 151

§

BackfaceVisibility = 152

§

AppRegion = 153

§

SpatialNavigationAction = 154

§

SpatialNavigationContain = 155

§

MixBlendMode = 156

§

Filter = 157

§

BackdropFilter = 158

§

TextShadow = 159

§

BreakBefore = 160

§

BreakAfter = 161

§

BreakInside = 162

§

Orphans = 163

§

Widows = 164

§

BoxDecorationBreak = 165

§

ColumnCount = 166

§

ColumnWidth = 167

§

ColumnSpan = 168

§

ColumnFill = 169

§

ColumnRuleWidth = 170

§

ColumnRuleStyle = 171

§

ColumnRuleColor = 172

§

FlowInto = 173

§

FlowFrom = 174

§

ShapeOutside = 175

§

ShapeInside = 176

§

ClipPath = 177

§

ShapeMargin = 178

§

ShapeImageThreshold = 179

§

TableLayout = 180

§

BorderCollapse = 181

§

BorderSpacing = 182

§

CaptionSide = 183

§

EmptyCells = 184

§

Content = 185

§

CounterReset = 186

§

CounterIncrement = 187

§

ListStyleType = 188

§

ListStylePosition = 189

§

StringSet = 190

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§

fn clamp_to<R>(self, range: R) -> Self
where Self: Sized, R: ClampBounds<Self>,

🔬This is a nightly-only experimental API. (clamp_to)
Restrict a value to a certain range. 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 = !

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

fn try_from(value: U) -> Result<T, !>

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.