summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-flexbox/overflow-auto-005.html
blob: 65b6d73e9a0fb3d939be2968b41749e551791f3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<!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>