Status: PASS | Duration: 8ms | Subtests: 1/1 | Open test on wpt.live | Open ref on wpt.live | wpt.fyi
/css/css-flexbox/overflow-auto-005.html
<!DOCTYPE html> <html> <title>CSS Flexbox: overflow:auto support.</title> <link rel="help" href="https://www.w3.org/TR/css-overflow-3/#propdef-overflow"> <link rel="help" href="https://www.w3.org/TR/css-overflow-4/#classic-scrollbars"> <link rel="match" href="reference/overflow-auto-005-ref.html"> <meta name="fuzzy" content="0-3;0-3"> <meta name="assert" content="This test ensures that flexbox with 'overflow: auto' is supported, including in combination with different writing-mode and flex-direction values."/> <style> .test-row { display: flex; margin-bottom: 5px; } .test-row > div { flex: none; } .container { margin-right: 5px; border: 5px solid lightgreen; width: 100px; } .horizontal-tb { writing-mode: horizontal-tb; } .vertical-rl { writing-mode: vertical-rl; } .vertical-lr { writing-mode: vertical-lr; } .row { flex-direction: row; } .row-reverse { flex-direction: row-reverse; } .column { flex-direction: column; } .column-reverse { flex-direction: column-reverse; } .flexbox { border: 0 solid pink; display: flex; height: 100px; width: 100px; overflow: auto; } .flexbox > div { width: 200px; height: 200px; background: radial-gradient(at right 60%, red, yellow, green); flex: none; } </style> <body> <p>Scrollbars should work in all the flexboxes.</p> </body> <script> var writingModes = ['horizontal-tb', 'vertical-rl', 'vertical-lr']; var flexDirections = ['row', 'column', 'row-reverse', 'column-reverse']; var testContents = ''; writingModes.forEach(function(writingMode) { testContents += "<div class='test-row'>"; flexDirections.forEach(function(flexDirection) { var containerClass = 'container ' + writingMode; var flexboxClass = 'flexbox ' + flexDirection; testContents += "<div class='" + containerClass + "'>" + "<div class='" + flexboxClass + "'>" + "<div></div>" + "</div>" + "</div>"; }); testContents += "</div>"; }); document.body.innerHTML += testContents; </script> </body> </html>
/css/css-flexbox/reference/overflow-auto-005-ref.html
<!DOCTYPE html> <html> <head> <style> .test-row { display: flex; margin-bottom: 5px; } .test-row > div { flex: none; } .container { margin-right: 5px; border: 5px solid lightgreen; width: 100px; } .flexbox { display: block; height: 100px; width: 100px; overflow: auto; } .flexbox > div { width: 200px; height: 200px; background: radial-gradient(at right 60%, red, yellow, green); } .vertical-rl { writing-mode: vertical-rl; } </style> </head> <body> <p>Scrollbars should work in all the flexboxes.</p> </body> <script> var results = [ 'left top', 'left top', 'right top', 'left bottom', 'right top', 'right top', 'right bottom', 'left top', 'left top', 'left top', 'left bottom', 'right top']; var testContents = ''; for (var i = 0; i < results.length; ++i) { if (!(i % 4)) testContents += "<div class='test-row'>"; var containerClass = 'container ' + results[i]; // Use vertical-rl here because Firefox and WebKit put vertical scrollbars // on the left in the vertical-rl test cases, and this is the easiest way to // match that. let maybe_vertical = ""; if (i > 3 && i < 8) maybe_vertical = " vertical-rl"; testContents += "<div class='" + containerClass + "'>" + "<div class='flexbox" + maybe_vertical + "'>" + "<div></div>" + "</div>" + "</div>"; if (i % 4 == 3) testContents += "</div>"; } document.body.innerHTML += testContents; Array.prototype.forEach.call(document.querySelectorAll(".left"), function(element) { element.firstChild.scrollLeft = -1000; }); Array.prototype.forEach.call(document.querySelectorAll(".right"), function(element) { element.firstChild.scrollLeft = 1000; }); Array.prototype.forEach.call(document.querySelectorAll(".bottom"), function(element) { element.firstChild.scrollTop = 1000; }); </script> </body> </html>