pub struct DeclarationBlock<'i> {
    pub important_declarations: Vec<Property<'i>>,
    pub declarations: Vec<Property<'i>>,
}
Expand description

A CSS declaration block.

Properties are separated into a list of !important declararations, and a list of normal declarations. This reduces memory usage compared with storing a boolean along with each property.

Fields§

§important_declarations: Vec<Property<'i>>

A list of !important declarations in the block.

§declarations: Vec<Property<'i>>

A list of normal declarations in the block.

Implementations§

Parses a declaration block from CSS syntax.

Parses a declaration block from a string.

Returns an empty declaration block.

Returns the total number of declarations in the block.

Writes the declarations to a CSS block, including starting and ending braces.

Returns whether the declaration block is empty.

Returns an iterator over all properties in the declaration.

Returns a mutable iterator over all properties in the declaration.

Returns the value for a given property id based on the properties in this declaration block.

If the property is a shorthand, the result will be a combined value of all of the included longhands, or None if some of the longhands are not declared. Otherwise, the value will be either an explicitly declared longhand, or a value extracted from a shorthand property.

Sets the value and importance for a given property, replacing any existing declarations.

If the property already exists within the declaration block, it is updated in place. Otherwise, a new declaration is appended. When updating a longhand property and a shorthand is defined which includes the longhand, the shorthand will be updated rather than appending a new declaration.

Removes all declarations of the given property id from the declaration block.

When removing a longhand property and a shorthand is defined which includes the longhand, the shorthand will be split apart into its component longhand properties, minus the property to remove. When removing a shorthand, all included longhand properties are also removed.

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
Serialize self in CSS syntax, writing to dest.
Serialize self in CSS syntax and return a string. Read more
The types of values contained within this value and its children. This is used to skip branches that don’t have any values requested by the Visitor. Read more
Visit the children of this value.
Visits the value by calling an appropriate method on the Visitor. If no corresponding visitor method exists, then the children are visited. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
The archived version of the pointer metadata for this type.
Converts some archived metadata to the pointer metadata for itself.
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Deserializes using the given deserializer

Returns the argument unchanged.

Calls U::from(self).

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

The alignment of pointer.
The type for initializers.
Initializes a with the given initializer. Read more
Dereferences the given pointer. Read more
Mutably dereferences the given pointer. Read more
Drops the object pointed to by the given pointer. Read more
The type for metadata in pointers and references to Self.
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.