<?xml version="1.0" encoding="UTF-8"?>
<!--
Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/
-->
<!-- Testcase with a variety of 'display: flex' examples testing each
possible value of the 'justify-content' property, and with each
individual flex item being wider than the flexbox itself (so that
there isn't any packing space available).
* For 'flex-start'/'space-between', we should overflow on the end
(right) side.
* For 'flex-end', we should overflow on the start (left) side.
* For 'center'/'space-around', we should overflow equally on both sides.
-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>CSS Test: Testing 'justify-content' in a horizontal flex container, and its effects on flex items that overflow, with margins/border/padding on flex items</title>
<link rel="author" title="Daniel Holbert" href="mailto:[email protected]"/>
<link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#justify-content-property"/>
<link rel="match" href="flexbox-justify-content-horiz-004-ref.xhtml"/>
<style>
body { margin-left: 100px; } /* So we can see left-overflowed stuff */
div.flexbox {
width: 30px;
display: flex;
margin-bottom: 4px;
}
div.a {
height: 10px;
flex: 0 0 35px;
background: lightgreen;
border-style: solid;
border-color: purple;
border-top-width: 1px;
border-right-width: 2px;
border-bottom-width: 3px;
border-left-width: 4px;
padding: 2px;
}
div.b {
height: 10px;
flex: 0 0 40px;
background: pink;
padding: 4px 3px 2px 1px;
margin: 2px 3px 4px 5px;
}
div.c {
height: 10px;
flex: 0 0 45px;
background: orange;
margin: 3px;
border: 2px dashed teal;
}
</style>
</head>
<body>
<!-- default (start) -->
<div class="flexbox">
<div class="a"/>
</div>
<div class="flexbox">
<div class="a"/><div class="b"></div>
</div>
<div class="flexbox">
<div class="a"/><div class="b"/><div class="c"/>
</div>
<!-- flex-start -->
<div class="flexbox" style="justify-content: flex-start">
<div class="a"/>
</div>
<div class="flexbox" style="justify-content: flex-start">
<div class="a"/><div class="b"/>
</div>
<div class="flexbox" style="justify-content: flex-start">
<div class="a"/><div class="b"/><div class="c"/>
</div>
<!-- flex-end -->
<div class="flexbox" style="justify-content: flex-end">
<div class="a"/>
</div>
<div class="flexbox" style="justify-content: flex-end">
<div class="a"/><div class="b"/>
</div>
<div class="flexbox" style="justify-content: flex-end">
<div class="a"/><div class="b"/><div class="c"/>
</div>
<!-- center -->
<div class="flexbox" style="justify-content: center">
<div class="a"/>
</div>
<div class="flexbox" style="justify-content: center">
<div class="a"/><div class="b"/>
</div>
<div class="flexbox" style="justify-content: center">
<div class="a"/><div class="b"/><div class="c"/>
</div>
<!-- space-between -->
<div class="flexbox" style="justify-content: space-between">
<div class="a"/>
</div>
<div class="flexbox" style="justify-content: space-between">
<div class="a"/><div class="b"/>
</div>
<div class="flexbox" style="justify-content: space-between">
<div class="a"/><div class="b"/><div class="c"/>
</div>
<!-- space-around -->
<div class="flexbox" style="justify-content: space-around">
<div class="a"/>
</div>
<div class="flexbox" style="justify-content: space-around">
<div class="a"/><div class="b"/>
</div>
<div class="flexbox" style="justify-content: space-around">
<div class="a"/><div class="b"/><div class="c"/>
</div>
<!-- space-evenly -->
<div class="flexbox" style="justify-content: space-evenly">
<div class="a"/>
</div>
<div class="flexbox" style="justify-content: space-evenly">
<div class="a"/><div class="b"/>
</div>
<div class="flexbox" style="justify-content: space-evenly">
<div class="a"/><div class="b"/><div class="c"/>
</div>
<!-- left -->
<div class="flexbox" style="justify-content: left">
<div class="a"/>
</div>
<div class="flexbox" style="justify-content: left">
<div class="a"/><div class="b"/>
</div>
<div class="flexbox" style="justify-content: left">
<div class="a"/><div class="b"/><div class="c"/>
</div>
<!-- right -->
<div class="flexbox" style="justify-content: right">
<div class="a"/>
</div>
<div class="flexbox" style="justify-content: right">
<div class="a"/><div class="b"/>
</div>
<div class="flexbox" style="justify-content: right">
<div class="a"/><div class="b"/><div class="c"/>
</div>
</body>
</html>