Skip to main content

CssPropertyType

Enum CssPropertyType 

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

§

Direction = 45

§

UserSelect = 46

§

TextDecoration = 47

§

Cursor = 48

§

Display = 49

§

Float = 50

§

BoxSizing = 51

§

Width = 52

§

Height = 53

§

MinWidth = 54

§

MinHeight = 55

§

MaxWidth = 56

§

MaxHeight = 57

§

Position = 58

§

Top = 59

§

Right = 60

§

Left = 61

§

Bottom = 62

§

ZIndex = 63

§

FlexWrap = 64

§

FlexDirection = 65

§

FlexGrow = 66

§

FlexShrink = 67

§

FlexBasis = 68

§

JustifyContent = 69

§

AlignItems = 70

§

AlignContent = 71

§

ColumnGap = 72

§

RowGap = 73

§

GridTemplateColumns = 74

§

GridTemplateRows = 75

§

GridAutoColumns = 76

§

GridAutoRows = 77

§

GridColumn = 78

§

GridRow = 79

§

GridTemplateAreas = 80

§

GridAutoFlow = 81

§

JustifySelf = 82

§

JustifyItems = 83

§

Gap = 84

§

GridGap = 85

§

AlignSelf = 86

§

Font = 87

§

WritingMode = 88

§

Clear = 89

§

BackgroundContent = 90

§

BackgroundPosition = 91

§

BackgroundSize = 92

§

BackgroundRepeat = 93

§

OverflowX = 94

§

OverflowY = 95

§

OverflowBlock = 96

§

OverflowInline = 97

§

PaddingTop = 98

§

PaddingLeft = 99

§

PaddingRight = 100

§

PaddingBottom = 101

§

PaddingInlineStart = 102

§

PaddingInlineEnd = 103

§

MarginTop = 104

§

MarginLeft = 105

§

MarginRight = 106

§

MarginBottom = 107

§

BorderTopLeftRadius = 108

§

BorderTopRightRadius = 109

§

BorderBottomLeftRadius = 110

§

BorderBottomRightRadius = 111

§

BorderTopColor = 112

§

BorderRightColor = 113

§

BorderLeftColor = 114

§

BorderBottomColor = 115

§

BorderTopStyle = 116

§

BorderRightStyle = 117

§

BorderLeftStyle = 118

§

BorderBottomStyle = 119

§

BorderTopWidth = 120

§

BorderRightWidth = 121

§

BorderLeftWidth = 122

§

BorderBottomWidth = 123

§

BoxShadowLeft = 124

§

BoxShadowRight = 125

§

BoxShadowTop = 126

§

BoxShadowBottom = 127

§

ScrollbarTrack = 128

§

ScrollbarThumb = 129

§

ScrollbarButton = 130

§

ScrollbarCorner = 131

§

ScrollbarResizer = 132

§

ScrollbarWidth = 133

§

ScrollbarColor = 134

§

ScrollbarVisibility = 135

§

ScrollbarFadeDelay = 136

§

ScrollbarFadeDuration = 137

§

Opacity = 138

§

Visibility = 139

§

Transform = 140

§

TransformOrigin = 141

§

PerspectiveOrigin = 142

§

BackfaceVisibility = 143

§

MixBlendMode = 144

§

Filter = 145

§

BackdropFilter = 146

§

TextShadow = 147

§

BreakBefore = 148

§

BreakAfter = 149

§

BreakInside = 150

§

Orphans = 151

§

Widows = 152

§

BoxDecorationBreak = 153

§

ColumnCount = 154

§

ColumnWidth = 155

§

ColumnSpan = 156

§

ColumnFill = 157

§

ColumnRuleWidth = 158

§

ColumnRuleStyle = 159

§

ColumnRuleColor = 160

§

FlowInto = 161

§

FlowFrom = 162

§

ShapeOutside = 163

§

ShapeInside = 164

§

ClipPath = 165

§

ShapeMargin = 166

§

ShapeImageThreshold = 167

§

TableLayout = 168

§

BorderCollapse = 169

§

BorderSpacing = 170

§

CaptionSide = 171

§

EmptyCells = 172

§

Content = 173

§

CounterReset = 174

§

CounterIncrement = 175

§

ListStyleType = 176

§

ListStylePosition = 177

§

StringSet = 178

Implementations§

Source§

impl CssPropertyType

Source

pub const ALL: &[CssPropertyType]

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 = CssPropertyType>

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 fn to_str(&self) -> &'static str

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

Source

pub 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 fn has_compact_encoding(&self) -> bool

Source

pub fn get_category(&self) -> CssPropertyCategory

Source

pub 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 fn is_gpu_only_property(&self) -> bool

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

Source

pub 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 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 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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
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 Copy for CssPropertyType

Source§

impl Eq for CssPropertyType

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.