summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-writing-modes/sizing-orthog-htb-in-vrl-015.xht
blob: a0013c58109d665d76f137466eea866d73759858 (plain)
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

 <head>

  <title>CSS Writing Modes Test: sizing of orthogonal 'horizontal-tb' block with 'auto' inline size inside auto-sized 'vertical-rl' containing block</title>

  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
  <link rel="help" href="https://www.w3.org/TR/css-writing-modes-3/#orthogonal-auto" />
  <link rel="match" href="sizing-orthog-htb-in-vrl-015-ref.xht" />


  <meta name="DC.date.created" content="2016-12-20T09:54:03+11:00" scheme="W3CDTF" />
  <meta name="DC.date.modified" content="2017-01-03T09:54:03+11:00" scheme="W3CDTF" />

  <meta name="assert" content="In this test, the inline size of the orthogonal block is 'auto' and its containing block's block size is also 'auto'. Since the width of the containing block is indefinite in this test, then constrain is the width of initial containing block which is, in this test, equal to the width of the viewport. But the max-content inline size of the orthogonal block is less than the width of the initial containing block. Therefore the inline size of div#ortho-block-htb will be its max-content." />

  <!--

  shrink-to-fit formula min(max-content, max(min-content, constraint))

  max-content inline size: narrowest inline size needed to fit its contents
  if none of the soft wrap opportunities within the box were taken. Eg:
  max-content of "I am a text sentence." is "I&nbsp;am&nbsp;a&nbsp;text&nbsp;sentence."
  https://www.w3.org/TR/css-sizing-3/#max-content-inline-size

  min-content inline size of the box: longest word in a sentence or longest non-breakable
  inline box (inline replaced or inline-block). Eg: min-content of "I am a text sentence."
  is "sentence."
  https://www.w3.org/TR/css-sizing-3/#min-content-inline-size

  contraint: min(available space, initial containing block's size)

  available space: this is either a measurement of its containing block
  (if that is definite) or an infinite size (when it is indefinite).
  https://drafts.csswg.org/css-sizing-4/#available

  - - - - - - - - - - - - -

  Inside this batch of 24 sizing-orthog-htb-in-vrl tests:
  001-012 : body has 100px margin-left and 100px margin-right
  013-024 : body has no horizontal margins

  Inside each sub-batch of 12 tests:
  001-006: containing block's width is 'auto' therefore indefinite
  007-012: containing block's width is 400px therefore definite

  Inside each sub-sub-batch of 6 tests:
  001-003: containing block has 1 sentence before and after
  004-006: containing block has no sentence before and no sentence after

  Inside each sub-sub-sub-batch of 3 tests:
  001: orthogonal block's width is 'auto'
  002: orthogonal block's width is 'auto' and its min-content
  inline size (1 very long word) is wider than constraint
  003: orthogonal block's width is 'auto' and its max-content inline size
  is narrower than max(min-content, constraint)

  -->

  <style type="text/css"><![CDATA[
  html
    {
      writing-mode: vertical-rl;
    }

  body
    {
      font-size: 16px;
      line-height: 1.25; /* therefore, each line box is 20px tall */
      margin-left: 0px;
      margin-right: 0px;
    }

  div#auto-sized-vrl-containing-block
    {
      width: auto;
      /*
      'width: auto' causes the measurement of the orthogonal
      box's containing block to be indefinite
      */
    }

  div#ortho-block-htb
    {
      border: blue solid 3px;
      width: auto;
      writing-mode: horizontal-tb;
    }
  ]]></style>

 </head>

 <body>

  <div id="auto-sized-vrl-containing-block">

    <p id="sentence-before">Sentence before.</p>

    <div id="ortho-block-htb">123456789012345</div>

    <p id="sentence-after">Sentence after.</p>

  </div>

 </body>
</html>