Enum style::stylesheets::CssRule
source · pub enum CssRule {
Show 21 variants
Style(Arc<Locked<StyleRule>>),
Namespace(Arc<NamespaceRule>),
Import(Arc<Locked<ImportRule>>),
Media(Arc<MediaRule>),
Container(Arc<ContainerRule>),
FontFace(Arc<Locked<FontFaceRule>>),
FontFeatureValues(Arc<FontFeatureValuesRule>),
FontPaletteValues(Arc<FontPaletteValuesRule>),
CounterStyle(Arc<Locked<CounterStyleRule>>),
Keyframes(Arc<Locked<KeyframesRule>>),
Margin(Arc<MarginRule>),
Supports(Arc<SupportsRule>),
Page(Arc<Locked<PageRule>>),
Property(Arc<PropertyRule>),
Document(Arc<DocumentRule>),
LayerBlock(Arc<LayerBlockRule>),
LayerStatement(Arc<LayerStatementRule>),
Scope(Arc<ScopeRule>),
StartingStyle(Arc<StartingStyleRule>),
PositionTry(Arc<Locked<PositionTryRule>>),
NestedDeclarations(Arc<Locked<NestedDeclarationsRule>>),
}
Expand description
A CSS rule.
TODO(emilio): Lots of spec links should be around.
Variants§
Style(Arc<Locked<StyleRule>>)
Namespace(Arc<NamespaceRule>)
Import(Arc<Locked<ImportRule>>)
Media(Arc<MediaRule>)
Container(Arc<ContainerRule>)
FontFace(Arc<Locked<FontFaceRule>>)
FontFeatureValues(Arc<FontFeatureValuesRule>)
FontPaletteValues(Arc<FontPaletteValuesRule>)
CounterStyle(Arc<Locked<CounterStyleRule>>)
Keyframes(Arc<Locked<KeyframesRule>>)
Margin(Arc<MarginRule>)
Supports(Arc<SupportsRule>)
Page(Arc<Locked<PageRule>>)
Property(Arc<PropertyRule>)
Document(Arc<DocumentRule>)
LayerBlock(Arc<LayerBlockRule>)
LayerStatement(Arc<LayerStatementRule>)
Scope(Arc<ScopeRule>)
StartingStyle(Arc<StartingStyleRule>)
PositionTry(Arc<Locked<PositionTryRule>>)
NestedDeclarations(Arc<Locked<NestedDeclarationsRule>>)
Implementations§
source§impl CssRule
impl CssRule
sourcepub fn rule_type(&self) -> CssRuleType
pub fn rule_type(&self) -> CssRuleType
Returns the CSSOM rule type of this rule.
sourcepub fn parse(
css: &str,
insert_rule_context: InsertRuleContext<'_>,
parent_stylesheet_contents: &StylesheetContents,
shared_lock: &SharedRwLock,
loader: Option<&dyn StylesheetLoader>,
allow_import_rules: AllowImportRules,
) -> Result<Self, RulesMutateError>
pub fn parse( css: &str, insert_rule_context: InsertRuleContext<'_>, parent_stylesheet_contents: &StylesheetContents, shared_lock: &SharedRwLock, loader: Option<&dyn StylesheetLoader>, allow_import_rules: AllowImportRules, ) -> Result<Self, RulesMutateError>
Parse a CSS rule.
This mostly implements steps 3..7 of https://drafts.csswg.org/cssom/#insert-a-css-rule
Trait Implementations§
source§impl DeepCloneWithLock for CssRule
impl DeepCloneWithLock for CssRule
source§fn deep_clone_with_lock(
&self,
lock: &SharedRwLock,
guard: &SharedRwLockReadGuard<'_>,
) -> CssRule
fn deep_clone_with_lock( &self, lock: &SharedRwLock, guard: &SharedRwLockReadGuard<'_>, ) -> CssRule
Deep clones this CssRule.
source§impl ToCssWithGuard for CssRule
impl ToCssWithGuard for CssRule
source§fn to_css(
&self,
guard: &SharedRwLockReadGuard<'_>,
dest: &mut CssStringWriter,
) -> Result
fn to_css( &self, guard: &SharedRwLockReadGuard<'_>, dest: &mut CssStringWriter, ) -> Result
Serialize
self
in CSS syntax, writing to dest
, using the given lock guard.source§fn to_css_string(&self, guard: &SharedRwLockReadGuard<'_>) -> CssString
fn to_css_string(&self, guard: &SharedRwLockReadGuard<'_>) -> CssString
Serialize
self
in CSS syntax using the given lock guard and return a string. Read moreAuto Trait Implementations§
impl Freeze for CssRule
impl !RefUnwindSafe for CssRule
impl Send for CssRule
impl Sync for CssRule
impl Unpin for CssRule
impl !UnwindSafe for CssRule
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<T> MaybeBoxed<Box<T>> for T
impl<T> MaybeBoxed<Box<T>> for T
source§fn maybe_boxed(self) -> Box<T>
fn maybe_boxed(self) -> Box<T>
Convert
source§impl<T> MaybeBoxed<T> for T
impl<T> MaybeBoxed<T> for T
source§fn maybe_boxed(self) -> T
fn maybe_boxed(self) -> T
Convert