grid-item-alignment-with-orthogonal-flows-vertical-lr.html (5205B)
1 <!DOCTYPE html> 2 <meta charset="utf-8"> 3 <title>CSS Grid Layout test:item alignment with orthogonal flows, vertical-lr writing mode</title> 4 <link rel="author" title="Rossana Monteriso" href="mailto:rmonteriso@igalia.com"> 5 <link rel="help" href="https://drafts.csswg.org/css-align-3/#alignment-values"> 6 <link rel="help" href="https://drafts.csswg.org/css-writing-modes-4/#orthogonal-flows"> 7 <meta name="assert" content="This test checks that grid item alignment works as expected with vertical-lr and horizontal-tb orthogonal flows"> 8 <meta name="flags" content="ahem"> 9 <link rel="stylesheet" href="/css/support/grid.css"> 10 <link rel="stylesheet" href="/css/support/alignment.css"> 11 <link rel="stylesheet" href="/css/support/width-keyword-classes.css"> 12 <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> 13 14 <style> 15 .container { 16 position: relative; 17 } 18 .grid { 19 grid-template-columns: 100px 100px; 20 grid-template-rows: 150px 150px 150px; 21 font-size: 10px; 22 } 23 .item { 24 width: 50px; 25 height: 20px; 26 } 27 </style> 28 29 <script src="/resources/testharness.js"></script> 30 <script src="/resources/testharnessreport.js"></script> 31 <script src="/resources/check-layout-th.js"></script> 32 <script type="text/javascript"> 33 setup({ explicit_done: true }); 34 </script> 35 36 <body onload="document.fonts.ready.then(() => { checkLayout('.grid'); })"> 37 38 <p>This test checks that grid items alignment works as expected with VERTICAL-LR vs HORIZONTAL-TB orthogonal flows.</p> 39 40 <p>Direction: LTR vs LTR</p> 41 <div class="container"> 42 <div class="grid fit-content verticalLR directionLTR"> 43 <div class="item firstRowFirstColumn horizontalTB selfEnd" data-offset-x="100" data-offset-y="80">end</div> 44 <div class="item firstRowSecondColumn horizontalTB selfCenter" data-offset-x="50" data-offset-y="140">center</div> 45 <div class="item secondRowFirstColumn horizontalTB selfStart" data-offset-x="150" data-offset-y="0">start</div> 46 <div class="item secondRowSecondColumn horizontalTB selfSelfEnd" data-offset-x="250" data-offset-y="180">s-end</div> 47 <div class="item thirdRowFirstColumn horizontalTB selfSelfStart" data-offset-x="300" data-offset-y="0">s-start</div> 48 <div class="item thirdRowSecondColumn horizontalTB" data-offset-x="300" data-offset-y="100">default</div> 49 </div> 50 </div> 51 52 <p>Direction: RTL vs LTR</p> 53 <div class="container"> 54 <div class="grid fit-content verticalLR directionRTL"> 55 <div class="item firstRowFirstColumn directionLTR horizontalTB selfEnd" data-offset-x="100" data-offset-y="100">end</div> 56 <div class="item firstRowSecondColumn directionLTR horizontalTB selfCenter" data-offset-x="50" data-offset-y="40">center</div> 57 <div class="item secondRowFirstColumn directionLTR horizontalTB selfStart" data-offset-x="150" data-offset-y="180">start</div> 58 <div class="item secondRowSecondColumn directionLTR horizontalTB selfSelfEnd" data-offset-x="250" data-offset-y="80">s-end</div> 59 <div class="item thirdRowFirstColumn directionLTR horizontalTB selfSelfStart" data-offset-x="300" data-offset-y="100">s-start</div> 60 <div class="item thirdRowSecondColumn directionLTR horizontalTB" data-offset-x="300" data-offset-y="80">default</div> 61 </div> 62 </div> 63 64 <p>Direction: LTR vs RTL</p> 65 <div class="container"> 66 <div class="grid fit-content verticalLR directionLTR"> 67 <div class="item firstRowFirstColumn directionRTL horizontalTB selfEnd" data-offset-x="100" data-offset-y="80">end</div> 68 <div class="item firstRowSecondColumn directionRTL horizontalTB selfCenter" data-offset-x="50" data-offset-y="140">center</div> 69 <div class="item secondRowFirstColumn directionRTL horizontalTB selfStart" data-offset-x="150" data-offset-y="0">start</div> 70 <div class="item secondRowSecondColumn directionRTL horizontalTB selfSelfEnd" data-offset-x="150" data-offset-y="180">s-end</div> 71 <div class="item thirdRowFirstColumn directionRTL horizontalTB selfSelfStart" data-offset-x="400" data-offset-y="0">s-start</div> 72 <div class="item thirdRowSecondColumn directionRTL horizontalTB" data-offset-x="300" data-offset-y="100">default</div> 73 </div> 74 </div> 75 76 <p>Direction: RTL vs RTL</p> 77 <div class="container"> 78 <div class="grid fit-content verticalLR directionRTL"> 79 <div class="item firstRowFirstColumn horizontalTB selfEnd" data-offset-x="100" data-offset-y="100">end</div> 80 <div class="item firstRowSecondColumn horizontalTB selfCenter" data-offset-x="50" data-offset-y="40">center</div> 81 <div class="item secondRowFirstColumn horizontalTB selfStart" data-offset-x="150" data-offset-y="180">start</div> 82 <div class="item secondRowSecondColumn horizontalTB selfSelfEnd" data-offset-x="150" data-offset-y="80">s-end</div> 83 <div class="item thirdRowFirstColumn horizontalTB selfSelfStart" data-offset-x="400" data-offset-y="100">s-start</div> 84 <div class="item thirdRowSecondColumn horizontalTB" data-offset-x="300" data-offset-y="80">default</div> 85 </div> 86 </div> 87 88 </body>