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 样式表对象