Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
            
- /css/css-lists/counter-slot-order-scoping.html - WPT Dashboard Interop Dashboard
 
 
<!DOCTYPE html>
<html>
  <head>
    <title>CSS counter order and scope with Shadow DOM and SLOT</title>
    <link rel="author" title="Martin Robinson" href="mailto:mrobinson@igalia.com">
    <link rel="match" href="counter-slot-order-scoping-ref.html">
  </head>
  <body>
    <div id="host">
      <div class="counted" slot="content3">Three</div>
      <div class="counted" slot="content1">One</div>
      <div class="counted" slot="content6">Six</div>
      <div class="counted" slot="content4">Four</div>
      <div style="counter-reset: section;" slot="reset">Reset2</div>
      <div class="counted" slot="content9">Nine</div>
      <div class="counted" slot="content7">Seven</div>
    </div>
    <script>
      function makeStyle() {
        let style = document.createElement('style');
        style.textContent = `
          .counted {
            counter-increment: section;
          }
          .counted::before {
            content: "C=" counter(section) " ";
          }
        `;
         return style;
      }
      document.body.appendChild(makeStyle());
      const shadowRoot = document
           .getElementById('host')
           .attachShadow({mode: 'open'});
      shadowRoot.innerHTML = `
      <div>
        <slot name="content1"></slot>
        <div class="counted" slot="content2">Two</div>
        <slot name="content3"></slot>
        <div style="counter-reset: section;">Reset1</div>
        <slot name="content4"></slot>
        <div class="counted" slot="content5">Five</div>
        <slot name="content6"></slot>
        <slot name="reset"></slot>
        <slot name="content7"></slot>
        <div class="counted" slot="content8">Eight</div>
        <slot name="content9"></slot>
      </div>
      `;
      shadowRoot.appendChild(makeStyle());
    </script>
  </body>
</html>