Skip to main content

Crate iris_cssom

Crate iris_cssom 

Source
Expand description

Iris CSS Object Model (CSSOM) Implementation

This crate provides a complete CSSOM implementation including:

  • CSS parsing and selector matching
  • CSS Modules support
  • Web-compatible CSSOM APIs (CSSStyleSheet, CSSRule, CSSStyleDeclaration, etc.)
  • Bridge layer for iris-layout integration

§Architecture

CSS Text → css.rs (Parser) → CSSRule → cssrule.rs (CSSOM Wrapper)
                                     ↓
                             stylesheet.rs (CSSStyleSheet)
                                     ↓
                             bridge.rs (Integration with iris-layout)

§Example

use iris_cssom::{CSSStyleSheet, CSSOMManager, CSSStyleDeclaration};

// Create a stylesheet
let mut sheet = CSSStyleSheet::new();
sheet.insert_rule(".container { color: red; }", 0).unwrap();

// Use CSSOMManager for multiple stylesheets
let mut manager = CSSOMManager::new();
manager.add_stylesheet_from_css("main", ".class { padding: 20px; }");

// Use CSSStyleDeclaration for inline styles
let mut style = CSSStyleDeclaration::new();
style.set_property("font-size", "16px", "");

Re-exports§

pub use css::Selector;
pub use css::SelectorType;
pub use css::Stylesheet;
pub use css::CSSRule;
pub use css::parse_stylesheet;
pub use css_modules::scope_class_name;
pub use css_modules::transform_css;
pub use css_modules::generate_short_hash;
pub use cssom::CSSStyleDeclaration;
pub use cssrule::CSSRuleOM;
pub use cssrule::CSSRuleType;
pub use cssrule::CSSStyleRule;
pub use cssrule::CSSMediaRule;
pub use cssrule::CSSRuleTrait;
pub use cssrulelist::CSSRuleList;
pub use stylesheet::CSSStyleSheet;
pub use bridge::CSSOMManager;

Modules§

bridge
CSSOM 桥接层
css
CSS 解析器
css_modules
CSS Modules 处理器
cssom
CSSStyleDeclaration - CSSOM 样式声明对象
cssrule
CSSRule 对象封装
cssrulelist
CSSRuleList - CSSOM 规则列表
stylesheet
CSSStyleSheet - CSSOM 样式表对象