available-size-014.html (2328B)
1 <!DOCTYPE html> 2 <meta charset="utf-8"> 3 <title>Testing Available Space in Orthogonal Flows / height + min-height / not remaining size</title> 4 <link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/"> 5 <link rel="help" href="https://www.w3.org/TR/css-writing-modes-3/#orthogonal-auto"> 6 <link rel="match" href="reference/available-size-001-ref.html"> 7 <meta name="assert" content="When an orthogonal flow's parent doesn't have a definite block size and the nearest ancestor scroller does a have fixed height, use that whole height increased by min-height if that's larger, even if some other content already consumes some of it (same as -005, with min-height)."> 8 <style> 9 #scroller { 10 font-family: monospace; /* to be able to reliably measure things in ch*/ 11 font-size: 20px; 12 height: 4ch; 13 min-height: 8ch; 14 width: 300px; /* Shrinkwrapping this div is not what we're interested in testing here, so give it a width. See nested-orthogonal-001.html for that. */ 15 overflow: hidden; 16 color: transparent; 17 position: relative; /* to act as a container of #red */ 18 } 19 20 #parent { padding-bottom: 2ch; } /* so that the content height of the parent and of the fixed size scrolling ancestor are different */ 21 #ortho { writing-mode: vertical-rl; } 22 23 span { 24 background: green; 25 display: inline-block; /* This should not change it's size or position, but makes the size of the background predictable*/ 26 } 27 28 #red { /* Not necessary when when comparing to the reference, but makes human judgement easier */ 29 position: absolute; 30 background: red; 31 left: 0; 32 writing-mode: vertical-rl; 33 z-index: -1; 34 top: 1ch; 35 } 36 #spacer { /* shrinks the remaining space of the parent div. */ 37 height: 1ch; 38 width: 100%; 39 } 40 </style> 41 42 <p>Test passes if there is a <strong>green rectangle</strong> below and <strong>no red</strong>. 43 44 <div id=scroller> 45 <aside id="red">0</aside> 46 <div id=parent> 47 <aside id=spacer></aside> 48 <div id=ortho>0 0 0 0 <span>0</span> 0 0 0</div> 49 </div> 50 <!-- If the inner div take its height from the height of its scrollable 51 ancestor, it should wrap just right for the green 0 to overlap with the red 52 one. If instead it takes it size from the remaining height after having 53 removed #spacer, or does some other calculation that takes #spacer into 54 account, it won't line up with #red.--> 55 </div>