<!DOCTYPE html>
<html class="reftest-wait">
  <meta charset="utf-8">
  <title>CSS Multi-column Layout Test: Add the spanner as the second child of the columns</title>
  <link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
  <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
  <link rel="help" href="https://drafts.csswg.org/css-multicol-1/#column-span">
  <link rel="match" href="multicol-span-all-dynamic-add-002-ref.html">
  <meta name="assert" content="This test checks a dynamically added 'column-span' element should be rendered correctly.">

  <script>
  function runTest() {
    document.body.offsetHeight;

    /* Add the spanner as the second child of the columns. */
    var spanner = document.createElement("h3");
    var text = document.createTextNode("spanner");
    spanner.appendChild(text);

    var column = document.getElementById("column");
    column.insertBefore(spanner, column.children[1]);

    document.documentElement.removeAttribute("class");
  }
  </script>

  <style>
  #column {
    column-count: 3;
    column-rule: 6px solid;
    width: 400px;
    outline: 1px solid black;
  }
  h3 {
    column-span: all;
    outline: 1px solid blue;
  }
  </style>

  <body onload="runTest();">
    <article id="column">
      <div>block1</div>
      <div>block2</div>
    </article>
  </body>
</html>
