<!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 Multi-column Layout Test: nested multi-columns and 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-10 -->
  <link rel="help" href="http://www.w3.org/TR/css3-multicol/#pseudo-algorithm" title="3.4 Pseudo-algorithm" />
  <link rel="match" href="multicol-nested-005-ref.xht" />
  <!--
  The original filename of this test was
  multicol-inherit-005.xht
  This test also serves as a conversion of
  multicol-nested-001.xht
  -->
  <meta name="flags" content="ahem" />
  <meta name="assert" content="This test checks how the height of column boxes conditions the height of nested column boxes." />
  <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
  <style type="text/css"><![CDATA[
  body > div
  {
  column-gap: 1em;
  font: 1.25em/1 Ahem;
  width: 41em;
  }

  /*

  N == 3;

  W == max(0, (available-width - ((N - 1) * column-gap)) / N);
  W == max(0, (41em - ((3 - 1) * 1em)) / 3);
  W == max(0, (41em - (2 * 1em)) / 3);
  W == max(0, (41em - 2em) / 3);
  W == max(0, 39em / 3);
  W == max(0, 13em);
  W == 13em;

  The height of column rule depends on number of line boxes in
  each outer column box which depends on number of line boxes
  in each inner column box. So:

    13em : width of each outer column box
   -
     2em : horizontal margin of each div inside
   =======
    11em : width of each inner multi-column elements

  N == 3;

  W == max(0, (available-width - ((N - 1) * column-gap)) / N);
  W == max(0, (11em - ((3 - 1) * 1em)) / 3);
  W == max(0, (11em - (2 * 1em)) / 3);
  W == max(0, (11em - 2em) / 3);
  W == max(0, 9em / 3);
  W == max(0, 3em);
  W == 3em;

  So, each duo of 'a', 'm' and 'x' should fill one and only 1 line
  box. There are 8 duos; therefore, the first 2 inner
  column boxes should use 3 line boxes and the 3rd inner
  column box should be using 2 line boxes.

  So, the height of the 2 blue column rules should be 60px.

  */

  div
  {
  background-color: yellow;
  color: black;
  font-size: 1em;
  margin: 1em;
  orphans: 1;
  widows: 1;

  column-count: 3;
  }

  div > div:first-child {margin-top: 0;}
  ]]></style>
 </head>

 <body>

  <div>
	<div>
		aa aa
		aa aa
		aa aa
		aa aa
	</div>
	<div>
		mm mm
		mm mm
		mm mm
		mm mm
	</div>
	<div>
		xx xx
		xx xx
		xx xx
		xx xx
	</div>
  </div>

 </body>
</html>
