Skip to main content

CssPropertyType

Enum CssPropertyType 

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

§

ExclusionMargin = 20

§

HyphenationLanguage = 21

§

LineHeight = 22

§

WordSpacing = 23

§

TabSize = 24

§

WhiteSpace = 25

§

Hyphens = 26

§

Direction = 27

§

UserSelect = 28

§

TextDecoration = 29

§

Cursor = 30

§

Display = 31

§

Float = 32

§

BoxSizing = 33

§

Width = 34

§

Height = 35

§

MinWidth = 36

§

MinHeight = 37

§

MaxWidth = 38

§

MaxHeight = 39

§

Position = 40

§

Top = 41

§

Right = 42

§

Left = 43

§

Bottom = 44

§

ZIndex = 45

§

FlexWrap = 46

§

FlexDirection = 47

§

FlexGrow = 48

§

FlexShrink = 49

§

FlexBasis = 50

§

JustifyContent = 51

§

AlignItems = 52

§

AlignContent = 53

§

ColumnGap = 54

§

RowGap = 55

§

GridTemplateColumns = 56

§

GridTemplateRows = 57

§

GridAutoColumns = 58

§

GridAutoRows = 59

§

GridColumn = 60

§

GridRow = 61

§

GridTemplateAreas = 62

§

GridAutoFlow = 63

§

JustifySelf = 64

§

JustifyItems = 65

§

Gap = 66

§

GridGap = 67

§

AlignSelf = 68

§

Font = 69

§

WritingMode = 70

§

Clear = 71

§

BackgroundContent = 72

§

BackgroundPosition = 73

§

BackgroundSize = 74

§

BackgroundRepeat = 75

§

OverflowX = 76

§

OverflowY = 77

§

PaddingTop = 78

§

PaddingLeft = 79

§

PaddingRight = 80

§

PaddingBottom = 81

§

PaddingInlineStart = 82

§

PaddingInlineEnd = 83

§

MarginTop = 84

§

MarginLeft = 85

§

MarginRight = 86

§

MarginBottom = 87

§

BorderTopLeftRadius = 88

§

BorderTopRightRadius = 89

§

BorderBottomLeftRadius = 90

§

BorderBottomRightRadius = 91

§

BorderTopColor = 92

§

BorderRightColor = 93

§

BorderLeftColor = 94

§

BorderBottomColor = 95

§

BorderTopStyle = 96

§

BorderRightStyle = 97

§

BorderLeftStyle = 98

§

BorderBottomStyle = 99

§

BorderTopWidth = 100

§

BorderRightWidth = 101

§

BorderLeftWidth = 102

§

BorderBottomWidth = 103

§

BoxShadowLeft = 104

§

BoxShadowRight = 105

§

BoxShadowTop = 106

§

BoxShadowBottom = 107

§

Scrollbar = 108

§

ScrollbarWidth = 109

§

ScrollbarColor = 110

§

Opacity = 111

§

Visibility = 112

§

Transform = 113

§

TransformOrigin = 114

§

PerspectiveOrigin = 115

§

BackfaceVisibility = 116

§

MixBlendMode = 117

§

Filter = 118

§

BackdropFilter = 119

§

TextShadow = 120

§

BreakBefore = 121

§

BreakAfter = 122

§

BreakInside = 123

§

Orphans = 124

§

Widows = 125

§

BoxDecorationBreak = 126

§

ColumnCount = 127

§

ColumnWidth = 128

§

ColumnSpan = 129

§

ColumnFill = 130

§

ColumnRuleWidth = 131

§

ColumnRuleStyle = 132

§

ColumnRuleColor = 133

§

FlowInto = 134

§

FlowFrom = 135

§

ShapeOutside = 136

§

ShapeInside = 137

§

ClipPath = 138

§

ShapeMargin = 139

§

ShapeImageThreshold = 140

§

TableLayout = 141

§

BorderCollapse = 142

§

BorderSpacing = 143

§

CaptionSide = 144

§

EmptyCells = 145

§

Content = 146

§

CounterReset = 147

§

CounterIncrement = 148

§

ListStyleType = 149

§

ListStylePosition = 150

§

StringSet = 151

Implementations§

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 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 · 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 IntoEnumIterator for CssPropertyType

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 · Source§

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

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

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

Compares and returns the minimum of two values. Read more
1.50.0 · 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 · 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 · 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 · 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 · 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 · 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.