Skip to content

Commit 46f5381

Browse files
committed
feat(ie-css): implement style resolution pipeline #23
resolve.rs: walks DOM tree depth-first, produces ResolvedStyle per node: - Calls cascade() for each element with UA + author stylesheets - Applies inline styles as highest priority override - Resolves 53 properties: cascaded → inherited → initial → computed - compute_value: em (parent font-size), rem (16px root), vw/vh (viewport), vmin/vmax, pt (4/3 px ratio) → absolute px - ResolvedStyle with get(), display(), get_length_px(), get_color() - ViewportSize parameter (default 1920x1080) - Inheritance: inherited properties propagate from parent - initial/inherit/initial keywords handled 12 new tests: color, inheritance, non-inheritance, em/rem/viewport resolution, UA defaults, inline override, deep chain, initial values. 85 total ie-css tests.
1 parent 7c85735 commit 46f5381

2 files changed

Lines changed: 491 additions & 0 deletions

File tree

crates/ie-css/src/lib.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,15 @@
55
66
pub mod cascade;
77
pub mod parser;
8+
pub mod resolve;
89
pub mod selector;
910
pub mod style;
1011
pub mod tokenizer;
1112
pub mod values;
1213

1314
pub use cascade::cascade;
1415
pub use parser::{Declaration, Rule, Stylesheet, parse_declarations, parse_stylesheet};
16+
pub use resolve::{ResolvedStyle, ViewportSize, resolve_styles};
1517
pub use selector::{
1618
Selector, Specificity, matches as selector_matches, parse_selector, parse_selector_list,
1719
specificity,

0 commit comments

Comments
 (0)