File: flex-sizing-rows-indefinite-height-002.html

package info (click to toggle)
thunderbird 1%3A140.3.1esr-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,608,628 kB
  • sloc: cpp: 7,671,698; javascript: 5,901,131; ansic: 3,898,955; python: 1,413,270; xml: 653,997; asm: 462,284; java: 180,948; sh: 113,489; makefile: 20,460; perl: 14,288; objc: 13,059; yacc: 4,583; pascal: 3,352; lex: 1,720; ruby: 1,222; exp: 762; sql: 715; awk: 580; php: 436; lisp: 430; sed: 70; csh: 10
file content (47 lines) | stat: -rw-r--r-- 1,642 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!DOCTYPE html>
<meta charset="utf-8">
<title>CSS Grid Layout Test: Expand flexible tracks with a fractional size</title>
<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
<link rel="author" title="Mozilla" href="https://www.mozilla.org/">
<link rel="help" href="https://drafts.csswg.org/css-grid-2/#algo-flex-tracks">
<link rel="help" href="https://drafts.csswg.org/css-grid-2/#algo-find-fr-size">
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht">

<style>
.grid {
  display: grid;
  width: 100px;
  background: red;
}
.item {
  grid-row: 2 / span 1;
  background: green;
  width: 100px;
  height: 100px;
  position: relative;
  top: -32px; /* To move this item up to cover the first row */
}
</style>

<!--
  Flexible row track sizes are resolved in two passes:

  The first pass:
   - The only grid item has a max-content height of 100px, which is also the
     hypothetical fr size.
   - Initially, each flexible track (0.4fr) is given a hypothetical size of
     100px * 0.4 = 40px.
   - This makes the grid container's height 40px * 2 = 80px in this pass.

  The second pass:
   - With the grid container's height now became fixed at 80px, the available
     grid space is known.
   - Per https://drafts.csswg.org/css-grid-2/#algo-find-fr-size
     the hypothetical fr size is 80px * max(0.4 * 2 , 1.0) = 80px.
   - In this pass, each 0.4fr row track resolves to 80px * 0.4 = 32px in height.
-->

<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div class="grid" style="grid-template-rows: repeat(2, minmax(0,0.4fr))">
  <span class="item"></span>
</div>