<!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);
}
</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];
    testContents +=
        "<div class='" + containerClass + "'>" +
        "<div class='flexbox'>" +
        "<div></div>" +
        "</div>" +
        "</div>";
    if (i % 4 == 3)
        testContents += "</div>";
}

document.body.innerHTML += testContents;

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>
