| <!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> |