Inline-block elements now participate in vertical alignment within inline formatting contexts. Previously, inline-blocks were positioned at the parent's content origin regardless of their vertical-align property. Now they are correctly repositioned based on CSS 2.1 §10.8.1 baseline calculation rules. Key changes: - Extended AtomicInline with vertical-align, baseline-offset fields - Create positioning-only InlineFragment for each atomic inline - Reposition inline-block LayoutBoxes after vertical alignment - Compute baseline from last line box (or bottom margin edge) - Made offset_layout_box pub(crate) for reuse across modules - Skip atomic fragments in display list builder - Comprehensive test coverage (23 new tests) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
6 lines
308 B
Plaintext
6 lines
308 B
Plaintext
DisplayList items=4
|
|
Text rect=(8, 8, 36.88693, 16) text="Before" color=#000000 font_size=16
|
|
Text rect=(130.99559, 8, 27.265785, 16) text="After" color=#000000 font_size=16
|
|
SolidRect rect=(47.94126, 8, 80, 40) color=#add8e6
|
|
Text rect=(47.94126, 8, 20.957415, 16) text="Box" color=#000000 font_size=16
|