<?xml version="1.0" encoding="UTF-8"?> <!-- Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ --> <!-- Reference case for align-items / align-self behavior in a vertical "direction: rtl" flex container, using blocks in place of flex items and using float and width keywords to emulate the align-items / align-self properties. --> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>CSS Reftest Reference</title> <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com"/> <style> .flexbox { border: 1px dashed blue; width: 4px; float: left; direction: rtl; font-family: sans-serif; font-size: 10px; margin-left: 80px; } .flex-start, .flex-end, .center, .baseline, .stretch { clear: both; 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; float: right; } .flex-end { background: orange; float: left; } <!-- We center shrinkwrapped text by putting it into an inline-block, and then wrapping that inline-block in a helper-div that has "text-align:center" set. For this to work, the parent has to be at least as wide as the centered content inside of it, so we make it large with a negative margin such that its center aligns with the 4px-wide container's center. --> .centerParent { text-align: center; width: 100px; margin-right: -48px; } .center { background: lightblue; display: inline-block; text-align: right; /* Keep parent's centering from tweaking my text */ } .baseline { background: teal; float: right; } .stretch { background: pink; } .clearFloats { clear: both } </style> </head> <body> <div class="flexbox"> <div class="flex-start">start</div> <div class="flex-start big">a b</div> <div class="clearFloats"></div> <div class="stretch">stretch</div> <!-- Force a 3px + 1px = 4px margin between this and the previous div (to thwart the effects of margin-collapsing). This is the only place we need this hack, because everywhere else in this test we use floats or inline-blocks, whose margins don't collapse. --> <div class="stretch big" style="margin-top: 4px">a b</div> <div class="centerParent"> <div class="center">center</div> </div> <div class="centerParent"> <div class="center big">a b</div> </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>