https://github.com/web-platform-tests/wpt
Raw File
Tip revision: 52900e8f91575e90ed01bfeacaf8f2ad7c55529d authored by James Graham on 21 March 2018, 15:54:47 UTC
commit f712edbaad27ef27fde23681673a8e7b2e4b8534
Tip revision: 52900e8
sizing-orthog-htb-in-vlr-020.xht
<!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 definite-sized 'vertical-lr' 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-vlr-020-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="flags" content="" />
  <meta name="assert" content="In this test, the inline size of the orthogonal block is 'auto' and its containing block's block size is '400px'. Since the width (inline-size) of the containing block is definite in this test, then the constrain is the width (inline-size) of such containing block which is, in this test, 400px. But the min-content inline size of the orthogonal block is greater than the width (inline-size) of the containing block. Therefore, the min-content inline-size will become the width of the orthogonal block." />

  <!--

  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-vlr 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' its max-content inline-size
  is narrower than max(min-content, constraint)

  -->

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

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

  div#sized-400px-vlr-containing-block
    {
      width: 400px;
    }

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

 </head>

 <body>

  <div id="sized-400px-vlr-containing-block">

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

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

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

  </div>

 </body>
</html>
back to top