Skip to main content

CssPropertyType

Enum CssPropertyType 

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

§

BaselineSource = 25

§

LineFitEdge = 26

§

InitialLetterAlign = 27

§

InitialLetterWrap = 28

§

ScrollbarGutter = 29

§

OverflowClipMargin = 30

§

Clip = 31

§

ExclusionMargin = 32

§

HyphenationLanguage = 33

§

LineHeight = 34

§

WordSpacing = 35

§

TabSize = 36

§

WhiteSpace = 37

§

Hyphens = 38

§

WordBreak = 39

§

OverflowWrap = 40

§

LineBreak = 41

§

TextOverflow = 42

§

ObjectFit = 43

§

ObjectPosition = 44

§

AspectRatio = 45

§

TextOrientation = 46

§

TextAlignLast = 47

§

TextTransform = 48

§

Direction = 49

§

UserSelect = 50

§

TextDecoration = 51

§

Cursor = 52

§

Display = 53

§

Float = 54

§

BoxSizing = 55

§

Width = 56

§

Height = 57

§

MinWidth = 58

§

MinHeight = 59

§

MaxWidth = 60

§

MaxHeight = 61

§

Position = 62

§

Top = 63

§

Right = 64

§

Left = 65

§

Bottom = 66

§

ZIndex = 67

§

FlexWrap = 68

§

FlexDirection = 69

§

FlexGrow = 70

§

FlexShrink = 71

§

FlexBasis = 72

§

JustifyContent = 73

§

AlignItems = 74

§

AlignContent = 75

§

ColumnGap = 76

§

RowGap = 77

§

GridTemplateColumns = 78

§

GridTemplateRows = 79

§

GridAutoColumns = 80

§

GridAutoRows = 81

§

GridColumn = 82

§

GridRow = 83

§

GridTemplateAreas = 84

§

GridAutoFlow = 85

§

JustifySelf = 86

§

JustifyItems = 87

§

Gap = 88

§

GridGap = 89

§

AlignSelf = 90

§

Font = 91

§

WritingMode = 92

§

Clear = 93

§

BackgroundContent = 94

§

BackgroundPosition = 95

§

BackgroundSize = 96

§

BackgroundRepeat = 97

§

OverflowX = 98

§

OverflowY = 99

§

OverflowBlock = 100

§

OverflowInline = 101

§

PaddingTop = 102

§

PaddingLeft = 103

§

PaddingRight = 104

§

PaddingBottom = 105

§

PaddingInlineStart = 106

§

PaddingInlineEnd = 107

§

MarginTop = 108

§

MarginLeft = 109

§

MarginRight = 110

§

MarginBottom = 111

§

BorderTopLeftRadius = 112

§

BorderTopRightRadius = 113

§

BorderBottomLeftRadius = 114

§

BorderBottomRightRadius = 115

§

BorderTopColor = 116

§

BorderRightColor = 117

§

BorderLeftColor = 118

§

BorderBottomColor = 119

§

BorderTopStyle = 120

§

BorderRightStyle = 121

§

BorderLeftStyle = 122

§

BorderBottomStyle = 123

§

BorderTopWidth = 124

§

BorderRightWidth = 125

§

BorderLeftWidth = 126

§

BorderBottomWidth = 127

§

BoxShadowLeft = 128

§

BoxShadowRight = 129

§

BoxShadowTop = 130

§

BoxShadowBottom = 131

§

ScrollbarTrack = 132

§

ScrollbarThumb = 133

§

ScrollbarButton = 134

§

ScrollbarCorner = 135

§

ScrollbarResizer = 136

§

ScrollbarWidth = 137

§

ScrollbarColor = 138

§

ScrollbarVisibility = 139

§

ScrollbarFadeDelay = 140

§

ScrollbarFadeDuration = 141

§

Opacity = 142

§

Visibility = 143

§

Transform = 144

§

TransformOrigin = 145

§

PerspectiveOrigin = 146

§

BackfaceVisibility = 147

§

MixBlendMode = 148

§

Filter = 149

§

BackdropFilter = 150

§

TextShadow = 151

§

BreakBefore = 152

§

BreakAfter = 153

§

BreakInside = 154

§

Orphans = 155

§

Widows = 156

§

BoxDecorationBreak = 157

§

ColumnCount = 158

§

ColumnWidth = 159

§

ColumnSpan = 160

§

ColumnFill = 161

§

ColumnRuleWidth = 162

§

ColumnRuleStyle = 163

§

ColumnRuleColor = 164

§

FlowInto = 165

§

FlowFrom = 166

§

ShapeOutside = 167

§

ShapeInside = 168

§

ClipPath = 169

§

ShapeMargin = 170

§

ShapeImageThreshold = 171

§

TableLayout = 172

§

BorderCollapse = 173

§

BorderSpacing = 174

§

CaptionSide = 175

§

EmptyCells = 176

§

Content = 177

§

CounterReset = 178

§

CounterIncrement = 179

§

ListStyleType = 180

§

ListStylePosition = 181

§

StringSet = 182

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.