wpt / css / css-multicol / multicol-overflowing-001.xht

Status: FAIL | Duration: 12ms | Subtests: 0/1 | Open test on wpt.live | Open ref on wpt.live | wpt.fyi

/css/css-multicol/multicol-overflowing-001.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>
  <!--
  This test's original filename was multicol-inherit-003.xht
  and it has been modified and is now
  multicol-overflowing-001.xht
  -->
  <title>CSS Multi-column Layout Test: multicolumn and overflowing constrained dimensions</title>
  <link rel="author" title="Opera Software ASA" href="http://www.opera.com/" />
  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2013-08-09 -->
  <link rel="help" href="http://www.w3.org/TR/css3-multicol/#pagination-and-overflow-outside-multicol" title="8.2. Pagination and overflow outside multicol elements" />
  <link rel="match" href="multicol-overflowing-001-ref.xht" />
  <meta name="flags" content="ahem" />
  <meta name="assert" content="This test checks that the content of a multi-column element with a fixed height can overflow outside its fixed width according to the computed overflow value. In this test, the inline content of a multi-column element exceeds the available fixed height and fixed width for the multi-column element; therefore, it overflows outside of it and creates a 4th, 5th and 6th extra column boxes." />
  <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
  <style type="text/css"><![CDATA[
  body > div
  {
  font: 1.25em/1 Ahem;
  height: 2em;
  width: 32em;

  column-gap: 1em;
  column-width: 8em;
  }

  /*

  N == max(1, floor((available-width + column-gap) / (column-width + column-gap)));
  N == max(1, floor((32em + 1em) / (8em + 1em)));
  N == max(1, floor(33em / 9em));
  N == max(1, floor(3.6));
  N == max(1, 3);
  N == 3;

  W == ((available-width + column-gap) / N) - column-gap;
  W == ((32em + 1em) / 3) - 1em;
  W == (33em / 3) - 1em;
  W == (11em) - 1em;
  W == 10em;

  H == 2em;

  */

  div
  {
  background: yellow;
  color: black;
  orphans: 1;
  widows: 1;
  }

  div > div {margin: 0 1em 1em;}

  div + div {color: blue;}

  div + div + div {color: pink;}
  ]]></style>
 </head>

 <body>

  <div>
	<div>
		bl ac
		bl ac
		bl ac
		bl ac
	</div>
	<div>
		bl ue
		bl ue
		bl ue
		bl ue
	</div>
	<div>
		Pi nk
		Pi nk
		Pi nk
		Pi nk
	</div>
  </div>

 </body>
</html>

/css/css-multicol/multicol-overflowing-001-ref.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 Reftest Reference</title>
  <link rel="author" title="Opera Software ASA" href="http://www.opera.com/" />
  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2013-08-09 -->
  <style type="text/css"><![CDATA[
  div#rel-pos-wrapper
  {
  background-color: yellow;
  font: 1.25em/1 serif;
  height: 2em;
  position: relative;
  width: 32em;
  }

  div > div
  {
  font-size: 1em;
  height: 2em;
  position: absolute;
  top: 0;
  width: 2em;
  }

  div#black1
  {
  background-color: black;
  left: 1em;
  }

  div#black2
  {
  background-color: black;
  left: 4em;
  }

  div#black3
  {
  background-color: black;
  left: 7em;
  }

  div#black4
  {
  background-color: black;
  height: 1em;
  left: 12em;
  }

  div#black5
  {
  background-color: black;
  height: 1em;
  left: 15em;
  }

  div#blue1
  {
  background-color: blue;
  left: 23em;
  }

  div#blue2
  {
  background-color: blue;
  left: 26em;
  }

  div#blue3
  {
  background-color: blue;
  left: 29em;
  }

  div#blue4
  {
  background-color: blue;
  height: 1em;
  left: 34em;
  }

  div#yellow1
  {
  background-color: yellow;
  height: 1em;
  left: 36em;
  width: 1em;
  }

  div#blue5
  {
  background-color: blue;
  height: 1em;
  left: 37em;
  }

  div#yellow2
  {
  background-color: yellow;
  height: 1em;
  left: 39em;
  width: 3em;
  }

  div#pink1
  {
  background-color: pink;
  left: 45em;
  }

  div#yellow3
  {
  background-color: yellow;
  left: 47em;
  width: 1em;
  }

  div#pink2
  {
  background-color: pink;
  left: 48em;
  }

  div#yellow4
  {
  background-color: yellow;
  left: 50em;
  width: 1em;
  }

  div#pink3
  {
  background-color: pink;
  left: 51em;
  }

  div#pink4
  {
  background-color: pink;
  height: 1em;
  left: 56em;
  }

  div#yellow5
  {
  background-color: yellow;
  height: 1em;
  left: 58em;
  width: 1em;
  }

  div#pink5
  {
  background-color: pink;
  height: 1em;
  left: 59em;
  }

  div#yellow6
  {
  background-color: yellow;
  height: 1em;
  left: 61em;
  width: 3em;
  }

  div#margin-right
  {
  background-color: transparent;
  height: 1em;
  left: 64em;
  width: 1em;
  }
   ]]></style>
 </head>
 <body>

  <div id="rel-pos-wrapper">
	<div id="black1"></div>
	<div id="black2"></div>
	<div id="black3"></div>
	<div id="black4"></div>
	<div id="black5"></div>

	<div id="blue1"></div>
	<div id="blue2"></div>
	<div id="blue3"></div>
	<div id="blue4"></div>
	<div id="yellow1"></div>
	<div id="blue5"></div>
	<div id="yellow2"></div>

	<div id="pink1"></div>
	<div id="yellow3"></div>
	<div id="pink2"></div>
	<div id="yellow4"></div>
	<div id="pink3"></div>
	<div id="pink4"></div>
	<div id="yellow5"></div>
	<div id="pink5"></div>
	<div id="yellow6"></div>
	<div id="margin-right"></div>

  </div>

 </body>
</html>