blob: 4f4f49afda37f66b50e6b502bf0244540d1bf84e [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/
-->
<!-- Testcase for align-items / align-self behavior, with all the possible
values included on different items within a flex container, and with the
flex container being skinnier than its items, and with "direction: rtl" to
swap the horizontal (cross) axis. -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>CSS Test: Testing the behavior of 'align-self' with a vertical flex container that's skinnier than its items, with margin/padding/border on the items and with 'direction: rtl'</title>
<link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com"/>
<link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#align-items-property"/>
<link rel="match" href="flexbox-align-self-vert-rtl-004-ref.xhtml"/>
<style>
.flexbox {
border: 1px dashed blue;
width: 4px;
display: flex;
flex-direction: column;
direction: rtl;
float: left;
font-family: sans-serif;
font-size: 10px;
margin-left: 80px;
}
.flexbox > div {
margin: 1px 2px 3px 4px;
border-width: 2px 3px 4px 5px;
padding: 3px 4px 5px 6px;
border-style: dotted;
}
div.big {
font-size: 18px;
width: 50px;
}
/* Classes for each of the various align-self values */
.flex-start {
background: lime;
align-self: flex-start;
}
.flex-end {
background: orange;
align-self: flex-end;
}
.center {
background: lightblue;
align-self: center;
}
.baseline {
background: teal;
align-self: baseline;
}
.stretch {
background: pink;
align-self: stretch;
}
</style>
</head>
<body>
<!-- (NOTE: this test has the "stretch" divs and the "flex-end" divs
swapped in the ordering, with respect to the other
flexbox-align-self-* testcases. That's because "stretch" and
"flex-end" overflow in opposite directions, and in RTL mode (with 2
flex containers side by side), they overflow *at* each other and
overlap. If we swap them, they float away from each other and we can
still see them.) -->
<div class="flexbox">
<div class="flex-start">start</div>
<div class="flex-start big">a b</div>
<div class="stretch">stretch</div>
<div class="stretch big">a b</div>
<div class="center">center</div>
<div class="center big">a b</div>
</div>
<div class="flexbox">
<div class="baseline">base</div>
<div class="baseline big">abc</div>
<div class="flex-end">end</div>
<div class="flex-end big">a b</div>
</div>
</body>
</html>