diff options
Diffstat (limited to 'testing/web-platform/tests/css/css-contain/contain-layout-suppress-baseline-002.html')
-rw-r--r-- | testing/web-platform/tests/css/css-contain/contain-layout-suppress-baseline-002.html | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-contain/contain-layout-suppress-baseline-002.html b/testing/web-platform/tests/css/css-contain/contain-layout-suppress-baseline-002.html new file mode 100644 index 0000000000..a370386ede --- /dev/null +++ b/testing/web-platform/tests/css/css-contain/contain-layout-suppress-baseline-002.html @@ -0,0 +1,71 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="utf-8"> + <title>CSS Test: 'contain: layout' should make elements behave as if they have no baseline</title> + <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com"> + <link rel="help" href="https://drafts.csswg.org/css-contain/#containment-layout"> + <link rel="help" href="https://drafts.csswg.org/css-flexbox-1/#valdef-align-items-baseline"> + <link rel="match" href="contain-layout-suppress-baseline-002-ref.html"> + <style> + .flexBaselineCheck { + display: flex; + border: 1px solid black; + } + .flexBaselineCheck > * { + contain: layout; + border: 2px solid teal; + align-self: baseline; + margin: 2px; + } + canvas { + background: purple; + width: 20px; + height: 50px; + box-sizing: border-box; + } + </style> +</head> +<body> + <div class="flexBaselineCheck"> + <!-- This canvas just exists to establish a precise, far-down baseline + alignment position: --> + <canvas></canvas> + <!-- "contain:layout" should force all the elements below to behave as if + they have no baseline. That means they all should *synthesize* a + baseline from their border-box edge, in order to participate in flex + item baseline alignment (to honor the outer flex container's + "align-items:baseline"). So, the expectation here is that all of these + elements' border-bottom edges should be aligned. --> + <button>btn</button> + <input type="button" value="i-btn"> + <input type="submit" value="i-sub"> + </div> + + <!-- Same as above, but with different form controls: + (split into multiple flex containers so as not to be too wide): --> + <div class="flexBaselineCheck"> + <canvas></canvas> + <input type="text" value="text"> + <input type="number" value="0"> + </div> + + <div class="flexBaselineCheck"> + <canvas></canvas> + <input type="date"> + <input type="time"> + </div> + + <div class="flexBaselineCheck"> + <canvas></canvas> + <input type="file"> + <textarea>textarea</textarea> + </div> + + <div class="flexBaselineCheck"> + <canvas></canvas> + <select><option>dropdown</option></select> + <select multiple style="max-height:40px"><option>multi</option></select> + </div> +</body> +</html> |