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>
7 lines
407 B
Plaintext
7 lines
407 B
Plaintext
DisplayList items=5
|
|
Text rect=(8, 8, 36.88693, 16) text="Before" color=#000000 font_size=16
|
|
Text rect=(194.99559, 8, 27.265785, 16) text="After" color=#000000 font_size=16
|
|
SolidRect rect=(67.94126, 28, 104, 64) color=#add8e6
|
|
Border rect=(67.94126, 28, 104, 64) widths=(2 2 2 2) colors=(#000000 #000000 #000000 #000000)
|
|
Text rect=(79.94126, 40, 20.957415, 16) text="Box" color=#000000 font_size=16
|