<!DOCTYPE HTML> <!-- Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ --> <html><head> <meta charset="utf-8"> <title>CSS Test: Testing definite placement with non-existent line names</title> <link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1146051"> <style type="text/css"> html,body { font-size: 16px; font-family: monospace; padding:0; margin:0; } .grid { height: 40px; position: relative; } span { position: absolute; top:0; left:0; width:20px; height:20px; background: lime; border: 1px solid black; box-sizing: border-box; } .XeN { left: 20px; width: 80px; } .XsN { width: 80px; } .XsN ~ span { top:20px; left:60px; } .NeX { left: 20px; width: 80px; } .NsX { width: 80px; } .NsX ~ span { left: 60px; top: 20px; } .XeA { width: 100px; } .XeA ~ span { top: 20px; } .XsA { width: 60px; } .XsA ~ span { left: 60px; } .XsA2 { width: 80px; } .XsA2 ~ span { left: 60px; top: 20px; } .XsA3 { width: 120px; } .XsA3 ~ span { left: 60px; top: 20px; } .AsX { width: 60px;} .AsX ~ span { left: 60px; } .xsN { } .xsN ~ span { left: 20px; } .x2sN { width: 40px; } .x2sN ~ span { left: 40px; } .xsN2 { width: 40px; } .xsN2 ~ span { left: 20px; top: 20px; } .xXs { } .xXs ~ span { left: 60px;} .aXs { } .aXs ~ span { left: 60px;} .aXe { left: 20px; width: 60px; } .xXe { width: 100px; } .xXe ~ span { left: 20px; top: 20px; } .AXe { width: 80px; } .AXe ~ span { top: 20px; } .A2Xe { left: 20px; width: 60px; } .XXe { left: 60px; } .XX3e { left: 60px; width: 40px; } .XbXe { width: 100px; } .XbXe ~ span { top: 20px; left: 40px; } .XX0b { } .XX0b ~ span { left: 60px; } .XX1b { } .XX1b ~ span { left: 60px; } .XX2b { width: 40px; } .XX2b ~ span { left: 60px; } .XbN1 { width: 60px; } .XbN1 ~ span { left: 60px; } .XbN2 { width: 80px; } .XbN2 ~ span { top: 20px; left: 60px; } .Xbb { } .Xbb ~ span { left: 80px; } .Xee { left: 60px; width:40px; } .nX2s { width: 40px; } .nX2s ~ span { left: 80px; } .nXs { width: 40px; } .nXs ~ span { left: 60px; } .nXe { left: 20px; width: 40px; } .nX2e { left: 40px; width: 40px; } .nX3e { left: 60px; width: 40px; } .n3Xe { width: 60px; } .n3Xe ~ span { top: 20px; } .n4Xe { width: 80px; } .n4Xe ~ span { top: 20px; left: 20px; } .Xen3 { left: 60px; width: 60px; } .Xea { left: 60px; } .Xea2 { left: 60px; width: 40px; } .Xea3 { left: 60px; width: 60px; } .Xsa { } .Xsa ~ span { left: 20px; } .Xsa2 { width: 40px; } .Xsa2 ~ span { left: 20px; top: 20px; } .Xsa4 { width: 100px; } .Xsa4 ~ span { left: 20px; top: 20px; } .Xs2a { width: 40px; } .Xs2a ~ span { left: 40px; } .Xs2a2 { width: 60px; } .Xs2a2 ~ span { left: 40px; top: 20px; } .Xs2a4 { width: 120px; } .Xs2a4 ~ span { left: 40px; top: 20px; } .Xs3a { width: 60px; } .Xs3a ~ span { left: 60px; } .Xs3a2 { width: 80px; } .Xs3a2 ~ span { left: 60px; top: 20px; } .Xs3a4 { width: 140px; } .Xs3a4 ~ span { left: 60px; top: 20px; } .nxe { width: 60px; } .nxe ~ span { top: 20px; } .nx3e { width: 100px; } .nx3e ~ span { top: 20px; } .n2x3e { left: 20px; width: 80px; } .Axe { width: 60px; } .Axe ~ span { top: 20px; } .A2xe { left: 20px; width: 40px; } .Ax3e { width: 100px; } .Ax3e ~ span { top: 20px; } .A2x3e { left: 20px; width: 80px; } .Aa { } .Aa ~ span { top: 20px; } .A2a { left: 20px; width: 40px; } .Aa3 { width: 80px; } .Aa3 ~ span { top: 20px; } .AXs { width: 40px; } .AXs ~ span { left:40px; } .A2Xs { width: 60px; } .A2Xs ~ span { left: 40px; top:20px; } ._Xs { } ._Xs ~ span { left: 60px; } ._Xe { left: 60px; } ._xe { } ._xe ~ span { top: 20px; } ._x3e { } ._x3e ~ span { top: 20px; } ._xa { } ._xa ~ span { top: 20px; } ._xa3 { } ._xa3 ~ span { top: 20px; } ._xn3 { width: 60px; } ._xn3 ~ span { top: 20px; } ._xn5 { width: 100px; } ._xn5 ~ span { top: 20px; } .Xs_ { } .Xs_ ~ span { left: 20px; } .X2s_ { } .X2s_ ~ span { left: 40px; } .X2e_ { left: 80px; } .A_ { } .A_ ~ span { top: 20px; } .A2_ { left: 20px; } .x3_ { } .x3_ ~ span { top: 20px; } .a2_ { } .a2_ ~ span { top: 20px; } .a-2_ { } .a-2_ ~ span { top: 20px; } ._n { } ._n ~ span { left: 20px; } ._n2 { } ._n2 ~ span { top: 20px; } .A3Xe { left: 60px; } .asA { } .asA ~ span { left: 20px; } .asA2 { } .asA2 ~ span { top: 20px; } .a2sA2 { width: 40px; } .a2sA2 ~ span { left: 20px; top: 20px; } .as1 { } .as1 ~ span { left: 20px; } .as2 { } .as2 ~ span { top: 20px; } .as3 { left: 20px; } .c1 { background:grey; } </style> </head> <body> <div style="float:left; width:140px"> <div class="grid"><span class="XeN" ></span><span class="c1"></span></div> <div class="grid"><span class="XsN" ></span><span class="c1"></span></div> <div class="grid"><span class="NeX" ></span><span class="c1"></span></div> <div class="grid"><span class="NsX" ></span><span class="c1"></span></div> <div class="grid"><span class="XeA" ></span><span class="c1"></span></div> <div class="grid"><span class="XsA" ></span><span class="c1"></span></div> <div class="grid"><span class="XsA2"></span><span class="c1"></span></div> <div class="grid"><span class="XsA3"></span><span class="c1"></span></div> <div class="grid"><span class="AsX" ></span><span class="c1"></span></div> <div class="grid"><span class="xsN" ></span><span class="c1"></span></div> <div class="grid"><span class="x2sN"></span><span class="c1"></span></div> <div class="grid"><span class="xsN2"></span><span class="c1"></span></div> <div class="grid"><span class="xXs" ></span><span class="c1"></span></div> <div class="grid"><span class="aXs" ></span><span class="c1"></span></div> <div class="grid"><span class="aXe" ></span><span class="c1"></span></div> <div class="grid"><span class="xXe" ></span><span class="c1"></span></div> </div> <div style="float:left; width:140px"> <div class="grid"><span class="AXe" ></span><span class="c1"></span></div> <div class="grid"><span class="A2Xe"></span><span class="c1"></span></div> <div class="grid"><span class="XXe" ></span><span class="c1"></span></div> <div class="grid"><span class="XX3e"></span><span class="c1"></span></div> <div class="grid"><span class="XbXe"></span><span class="c1"></span></div> <div class="grid"><span class="XX0b"></span><span class="c1"></span></div> <div class="grid"><span class="XX1b"></span><span class="c1"></span></div> <div class="grid"><span class="XX2b"></span><span class="c1"></span></div> <div class="grid"><span class="XbN1"></span><span class="c1"></span></div> <div class="grid"><span class="XbN2"></span><span class="c1"></span></div> <div class="grid"><span class="Xbb" ></span><span class="c1"></span></div> <div class="grid"><span class="Xee" ></span><span class="c1"></span></div> <div class="grid"><span class="nX2s"></span><span class="c1"></span></div> <div class="grid"><span class="nXs" ></span><span class="c1"></span></div> <div class="grid"><span class="nXe" ></span><span class="c1"></span></div> <div class="grid"><span class="nX2e"></span><span class="c1"></span></div> </div> <div style="float:left; width:140px"> <div class="grid"><span class="nX3e" ></span><span class="c1"></span></div> <div class="grid"><span class="n3Xe" ></span><span class="c1"></span></div> <div class="grid"><span class="n4Xe" ></span><span class="c1"></span></div> <div class="grid"><span class="Xen3" ></span><span class="c1"></span></div> <div class="grid"><span class="Xea" ></span><span class="c1"></span></div> <div class="grid"><span class="Xea2" ></span><span class="c1"></span></div> <div class="grid"><span class="Xea3" ></span><span class="c1"></span></div> <div class="grid"><span class="Xsa" ></span><span class="c1"></span></div> <div class="grid"><span class="Xsa2" ></span><span class="c1"></span></div> <div class="grid"><span class="Xsa4" ></span><span class="c1"></span></div> <div class="grid"><span class="Xs2a" ></span><span class="c1"></span></div> <div class="grid"><span class="Xs2a2"></span><span class="c1"></span></div> <div class="grid"><span class="Xs2a4"></span><span class="c1"></span></div> <div class="grid"><span class="Xs3a" ></span><span class="c1"></span></div> <div class="grid"><span class="Xs3a2"></span><span class="c1"></span></div> <div class="grid"><span class="Xs3a4"></span><span class="c1"></span></div> </div> <div style="float:left; width:140px"> <div class="grid"><span class="nxe" ></span><span class="c1"></span></div> <div class="grid"><span class="nx3e" ></span><span class="c1"></span></div> <div class="grid"><span class="n2x3e"></span><span class="c1"></span></div> <div class="grid"><span class="Axe" ></span><span class="c1"></span></div> <div class="grid"><span class="A2xe" ></span><span class="c1"></span></div> <div class="grid"><span class="Ax3e" ></span><span class="c1"></span></div> <div class="grid"><span class="A2x3e"></span><span class="c1"></span></div> <div class="grid"><span class="Aa" ></span><span class="c1"></span></div> <div class="grid"><span class="A2a" ></span><span class="c1"></span></div> <div class="grid"><span class="Aa3" ></span><span class="c1"></span></div> <div class="grid"><span class="AXs" ></span><span class="c1"></span></div> <div class="grid"><span class="A2Xs" ></span><span class="c1"></span></div> <div class="grid"><span class="_Xs" ></span><span class="c1"></span></div> <div class="grid"><span class="_Xe" ></span><span class="c1"></span></div> <div class="grid"><span class="_xe" ></span><span class="c1"></span></div> <div class="grid"><span class="_x3e" ></span><span class="c1"></span></div> </div> <div style="float:left; width:140px"> <div class="grid"><span class="_xa" ></span><span class="c1"></span></div> <div class="grid"><span class="_xa3"></span><span class="c1"></span></div> <div class="grid"><span class="_xn3"></span><span class="c1"></span></div> <div class="grid"><span class="_xn5"></span><span class="c1"></span></div> <div class="grid"><span class="Xs_" ></span><span class="c1"></span></div> <div class="grid"><span class="X2s_"></span><span class="c1"></span></div> <div class="grid"><span class="X2e_"></span><span class="c1"></span></div> <div class="grid"><span class="A_" ></span><span class="c1"></span></div> <div class="grid"><span class="A2_" ></span><span class="c1"></span></div> <div class="grid"><span class="x3_" ></span><span class="c1"></span></div> <div class="grid"><span class="a2_" ></span><span class="c1"></span></div> <div class="grid"><span class="a-2_"></span><span class="c1"></span></div> <div class="grid"><span class="_n" ></span><span class="c1"></span></div> <div class="grid"><span class="_n2" ></span><span class="c1"></span></div> <div class="grid"><span class="A3Xe"></span><span class="c1"></span></div> <div class="grid"><span class="asA"></span><span class="c1"></span></div> </div> <div style="float:left; width:140px; clear:both"> <div class="grid"><span class="asA2"></span><span class="c1"></span></div> <div class="grid"><span class="a2sA2"></span><span class="c1"></span></div> <div class="grid"><span class="as1"></span><span class="c1"></span></div> <div class="grid"><span class="as2"></span><span class="c1"></span></div> <div class="grid"><span class="as3"></span><span class="c1"></span></div> </div> </body> </html>