<!DOCTYPE html PUBLIC "-//W3C//DTD//XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
 Internet Explorer Test Pages Copyright © 2012 Microsoft Corporation. All rights reserved.

 Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:

 Redistributions of source code must retain the above copyright notice, this list of
 conditions and the following disclaimer.

 Redistributions in binary form must reproduce the above copyright notice, this list of
 conditions and the following disclaimer in the documentation and/or other materials
 provided with the distribution.

 Neither the name of the Microsoft Corporation nor the names of its contributors may be
 used to endorse or promote products derived from this software without specific prior
 written permission.

 THIS SOFTWARE IS PROVIDED BY MICROSOFT CORPORATION "AS IS" AND ANY EXPRESS OR IMPLIED
 WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
 FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MICROSOFT CORPORATION
 BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
 OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 POSSIBILITY OF SUCH DAMAGE.
-->
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>CSS Test: Box ordinal group default and value of zero</title>
        <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
        <link rel="help" href="http://www.w3.org/TR/2009/WD-css3-flexbox-20090723/"/>
        <meta name="flags" content="" />
        <meta name="assert" content="box-ordinal-groups have 1 as a default value and can use 0."/>
        <style type="text/css">
            .box
            {
                display: -ms-box;
                display: -moz-box;
                display: -o-box;
                display: -webkit-box;
                display: box;
            }
            .child
            {
                border: solid thin black;
                margin: 0 10px;
                padding: 0 10px;
                font-size: large;
            }
            .zero
            {
                -ms-box-ordinal-group: 0;
                -moz-box-ordinal-group: 0;
                -o-box-ordinal-group: 0;
                -webkit-box-ordinal-group: 0;
                box-ordinal-group: 0;
            }
            .two
            {
                -ms-box-ordinal-group: 2;
                -moz-box-ordinal-group: 2;
                -o-box-ordinal-group: 2;
                -webkit-box-ordinal-group: 2;
                box-ordinal-group: 2;
            }
        </style>
    </head>
    <body>
        <p>Test passes if numbers (1,2,3) are read in increasing numerical order left to right.</p>
        <div class="box">
            <div class="child two">3</div>
            <div class="child zero">1</div>
            <div class="child">2</div>
        </div>
    </body>
</html>
