6 background-color: pink;
7 outline:
1px solid black;
12 background-color: grey;
29 -webkit-writing-mode: horizontal-tb;
32 -webkit-writing-mode: horizontal-bt;
35 -webkit-writing-mode: vertical-rl;
38 -webkit-writing-mode: vertical-lr;
44 flex-flow: row-reverse;
50 flex-flow: column-reverse;
52 .flexbox
> :nth-child(
1) {
53 background-color: blue;
55 .flexbox
> :nth-child(
2) {
56 background-color: green;
58 .flexbox
> :nth-child(
3) {
59 background-color: red;
62 <script src=
"../../resources/check-layout.js"></script>
63 <body onload=
"checkLayout('.flexbox')">
66 function asString(position
)
68 return 'data-offset-x="' + position
[0] + '" data-offset-y="' + position
[1] + '"';
74 rtl
: [[80, 0], [80, 20]],
75 ltr
: [[0, 0], [0, 20]]
78 rtl
: [[80, 80], [80, 60]],
79 ltr
: [[0, 80], [0, 60]]
82 rtl
: [[80, 0], [60, 0]],
83 ltr
: [[0, 0], [20, 0]]
86 rtl
: [[0, 0], [20, 0]],
87 ltr
: [[80, 0], [60, 0]]
92 rtl
: [[80, 80], [80, 60]],
93 ltr
: [[0, 80], [0, 60]]
96 rtl
: [[80, 0], [80, 20]],
97 ltr
: [[0, 0], [0, 20]]
100 rtl
: [[80, 80], [60, 80]],
101 ltr
: [[0, 80], [20, 80]]
104 rtl
: [[0, 80], [20, 80]],
105 ltr
: [[80, 80], [60, 80]]
110 rtl
: [[0, 80], [20, 80]],
111 ltr
: [[0, 0], [20, 0]]
114 rtl
: [[80, 80], [60, 80]],
115 ltr
: [[80, 0], [60, 0]]
118 rtl
: [[0, 80], [0, 60]],
119 ltr
: [[0, 0], [0, 20]]
122 rtl
: [[0, 0], [0, 20]],
123 ltr
: [[0, 80], [0, 60]]
128 rtl
: [[80, 80], [60, 80]],
129 ltr
: [[80, 0], [60, 0]]
132 rtl
: [[0, 80], [20, 80]],
133 ltr
: [[0, 0], [20, 0]]
136 rtl
: [[80, 80], [80, 60]],
137 ltr
: [[80, 0], [80, 20]]
140 rtl
: [[80, 0], [80, 20]],
141 ltr
: [[80, 80], [80, 60]]
146 var writingModes
= ['horizontal-tb', 'horizontal-bt', 'vertical-lr', 'vertical-rl'];
147 var flexFlows
= ['row', 'column', 'row-reverse', 'column-reverse'];
148 var directions
= ['rtl', 'ltr'];
150 function physicalWritingMode(writingMode
, flexFlow
, direction
)
152 if (flexFlow
.indexOf('column') == -1)
155 var isReverse
= flexFlow
.indexOf('reverse') != -1;
156 switch (writingMode
) {
157 case 'horizontal-tb':
158 case 'horizontal-bt':
159 return isReverse
? 'vertical-rl' : 'vertical-lr';
162 return isReverse
? 'horizontal-bt' : 'horizontal-tb';
166 writingModes
.forEach(function(writingMode
) {
167 flexFlows
.forEach(function(flexFlow
) {
168 directions
.forEach(function(direction
) {
169 var flexboxClassName
= writingMode
+ ' ' + direction
+ ' ' + flexFlow
;
170 var title
= document
.createElement('div');
171 title
.className
= 'title';
172 title
.innerHTML
= flexboxClassName
;
173 document
.body
.appendChild(title
);
176 var flexItemExpectations
= expectations
[writingMode
][flexFlow
][direction
];
178 var container
= document
.createElement('div');
179 container
.className
= 'container';
180 container
.innerHTML
= '<div class="flexbox ' + flexboxClassName
+ '">\n' +
181 '<div style="width: 20px; height: 20px;" ' + asString(flexItemExpectations
[0]) + '></div>\n' +
182 '<div style="width: 20px; height: 20px;" ' + asString(flexItemExpectations
[1]) + '></div>\n' +
185 document
.body
.appendChild(container
);