Status: FAIL | Duration: 18ms | Subtests: 0/1 | Open test on wpt.live | Open ref on wpt.live | wpt.fyi
/css/css-inline/alignment-baseline/alignment-baseline-horizontal-002.html
<!DOCTYPE html> <html> <head> <link rel="help" href="https://drafts.csswg.org/css-inline-3/#alignment-baseline-property"> <link rel="match" href="alignment-baseline-horizontal-002-ref.html"> <link rel="stylesheet" href="/fonts/baseline-diagnostic/baseline-diagnostic-font.css"> <script src="support/variant-class.js"></script> <meta name="assert" content="alignment-baseline affects the vertical position of horizontal text with a different baseline set than its parent" /> <meta name="flags" content="image" /> <meta charset="utf-8"> <meta name="variant" content="?class=baseline"> <meta name="variant" content="?class=text-bottom"> <meta name="variant" content="?class=alphabetic"> <meta name="variant" content="?class=ideographic"> <meta name="variant" content="?class=middle"> <meta name="variant" content="?class=central"> <meta name="variant" content="?class=mathematical"> <meta name="variant" content="?class=hanging"> <meta name="variant" content="?class=text-top"> <style> :root { font: 200px/1 'BaselineDiagnostic'; } #target { font-size: 0.5rem; } img { width: 64px; height: 64px; } .baseline :is(#target, img) { alignment-baseline: baseline; } .text-bottom :is(#target, img) { alignment-baseline: text-bottom; } .alphabetic :is(#target, img) { alignment-baseline: alphabetic; } .ideographic :is(#target, img) { alignment-baseline: ideographic; } .middle :is(#target, img) { alignment-baseline: middle; } .central :is(#target, img) { alignment-baseline: central; } .mathematical :is(#target, img) { alignment-baseline: mathematical; } .hanging :is(#target, img) { alignment-baseline: hanging; } .text-top :is(#target, img) { alignment-baseline: text-top; } </style> </head> <body> <span id="container">X<span id="target">X</span><img src="/images/grgr-256x256.png"></span> </body> </html>
/css/css-inline/alignment-baseline/alignment-baseline-horizontal-002-ref.html
<!DOCTYPE html> <html> <head> <link rel="help" href="https://drafts.csswg.org/css-inline-3/#alignment-baseline-property"> <link rel="stylesheet" href="/fonts/baseline-diagnostic/baseline-diagnostic-font.css"> <script src="support/variant-class.js"></script> <meta name="flags" content="image" /> <meta charset="utf-8"> <meta name="variant" content="?class=baseline"> <meta name="variant" content="?class=text-bottom"> <meta name="variant" content="?class=alphabetic"> <meta name="variant" content="?class=ideographic"> <meta name="variant" content="?class=middle"> <meta name="variant" content="?class=central"> <meta name="variant" content="?class=mathematical"> <meta name="variant" content="?class=hanging"> <meta name="variant" content="?class=text-top"> <style> :root { font: 200px/1 'BaselineDiagnostic'; } #container { position: relative; } #target { position: absolute; inset-inline-start: 1rem; font-size: 0.5rem; } img { position: absolute; inset-inline-start: calc(1rem + 0.5rem); width: 64px; height: 64px; --offset-synthesized-under: 64px; --offset-synthesized-middle: 32px; --offset-synthesized-over: 0px; } /* Position the target text span using its font metrics to match baselines */ .baseline #target { inset-block-start: calc((1rem - 0.5rem) * var(--baseline-diagnostic-alphabetic)); } .text-bottom #target { inset-block-start: calc((1rem - 0.5rem) * var(--baseline-diagnostic-descent)); } .alphabetic #target { inset-block-start: calc((1rem - 0.5rem) * var(--baseline-diagnostic-alphabetic)); } .ideographic #target { inset-block-start: calc((1rem - 0.5rem) * var(--baseline-diagnostic-ideographic-under)); } .middle #target { inset-block-start: calc((1rem - 0.5rem) * var(--baseline-diagnostic-x-middle)); } .central #target { inset-block-start: calc((1rem - 0.5rem) * var(--baseline-diagnostic-central)); } .mathematical #target { inset-block-start: calc((1rem - 0.5rem) * var(--baseline-diagnostic-math)); } .hanging #target { inset-block-start: calc((1rem - 0.5rem) * var(--baseline-diagnostic-hanging)); } .text-top #target { inset-block-start: calc((1rem - 0.5rem) * var(--baseline-diagnostic-ascent)); } /** * Position the image (atomic inline) using its synthesized baselines: * - Line-under: text-bottom, alphabetic, ideographic, baseline (in horizontal writing modes) * - Midpoint: central, mathematical * - Line-over: text-top, hanging */ .baseline img { inset-block-start: calc(1rem * var(--baseline-diagnostic-alphabetic) - var(--offset-synthesized-under)); } .text-bottom img { inset-block-start: calc(1rem * var(--baseline-diagnostic-descent) - var(--offset-synthesized-under)); } .alphabetic img { inset-block-start: calc(1rem * var(--baseline-diagnostic-alphabetic) - var(--offset-synthesized-under)); } .ideographic img { inset-block-start: calc(1rem * var(--baseline-diagnostic-ideographic-under) - var(--offset-synthesized-under)); } .middle img { inset-block-start: calc(1rem * var(--baseline-diagnostic-x-middle) - var(--offset-synthesized-middle)); } .central img { inset-block-start: calc(1rem * var(--baseline-diagnostic-central) - var(--offset-synthesized-middle)); } .mathematical img { inset-block-start: calc(1rem * var(--baseline-diagnostic-math) - var(--offset-synthesized-middle)); } .hanging img { inset-block-start: calc(1rem * var(--baseline-diagnostic-hanging) - var(--offset-synthesized-over)); } .text-top img { inset-block-start: calc(1rem * var(--baseline-diagnostic-ascent) - var(--offset-synthesized-over)); } </style> </head> <body> <span id="container">X<span id="target">X</span><img src="/images/grgr-256x256.png"></span> </body> </html>