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>
18 lines
1.1 KiB
Plaintext
18 lines
1.1 KiB
Plaintext
DisplayList items=16
|
|
SolidRect rect=(13, 13, 100, 50) color=#add8e6
|
|
Text rect=(13, 13, 27.676945, 16) text="Box1" color=#000000 font_size=16
|
|
SolidRect rect=(126.05433, 13, 100, 50) color=#add8e6
|
|
Text rect=(126.05433, 13, 27.676945, 16) text="Box2" color=#000000 font_size=16
|
|
SolidRect rect=(239.10866, 13, 100, 50) color=#add8e6
|
|
Text rect=(239.10866, 13, 27.676945, 16) text="Box3" color=#000000 font_size=16
|
|
SolidRect rect=(352.16296, 13, 100, 50) color=#add8e6
|
|
Text rect=(352.16296, 13, 27.676945, 16) text="Box4" color=#000000 font_size=16
|
|
SolidRect rect=(465.2173, 13, 100, 50) color=#add8e6
|
|
Text rect=(465.2173, 13, 27.676945, 16) text="Box5" color=#000000 font_size=16
|
|
SolidRect rect=(578.2716, 13, 100, 50) color=#add8e6
|
|
Text rect=(578.2716, 13, 27.676945, 16) text="Box6" color=#000000 font_size=16
|
|
SolidRect rect=(691.3259, 13, 100, 50) color=#add8e6
|
|
Text rect=(691.3259, 13, 27.676945, 16) text="Box7" color=#000000 font_size=16
|
|
SolidRect rect=(13, 73, 100, 50) color=#add8e6
|
|
Text rect=(13, 73, 27.676945, 16) text="Box8" color=#000000 font_size=16
|