| <!DOCTYPE html> |
| <body> |
| <style> |
| #container { |
| width: 100px; |
| height: 100px; |
| } |
| </style> |
| <p>Test passes if you see a single 100px by 100px green box below.</p> |
| <div id="container"> |
| <div id="host"> |
| <span>a</span> |
| <span>b</span> |
| </div> |
| <div id="host2"> |
| <span>a</span> |
| <span class="abs">b</span> |
| </div> |
| <div id="host3"> |
| <span>a</span> |
| <span>b</span> |
| </div> |
| <div id="host4"> |
| <span>a</span> |
| <span>b</span> |
| </div> |
| <div id="host5"> |
| <span>a</span> |
| <span>b</span> |
| </div> |
| </div> |
| <script> |
| |
| document.querySelector('#host').attachShadow({mode:'closed'}).innerHTML = ` |
| <style> |
| :host { |
| width: 100%; |
| height: 20%; |
| display: flex; |
| } |
| ::slotted(span) { |
| flex: 1; |
| color: green; |
| background: green; |
| height: 100%; |
| } |
| </style> |
| <slot></slot>`; |
| |
| document.querySelector('#host2').attachShadow({mode:'closed'}).innerHTML = ` |
| <style> |
| :host { |
| width: 150%; |
| height: 20%; |
| display: flex; |
| } |
| ::slotted(span) { |
| flex: 2; |
| color: green; |
| background: green; |
| display: inline-block; |
| z-index: 10; |
| height: 100%; |
| } |
| ::slotted(span.abs) { |
| flex: 1; |
| background: red; |
| z-index: 5; |
| left: -75px; |
| position: relative; |
| } |
| </style> |
| <slot></slot>`; |
| |
| document.querySelector('#host3').attachShadow({mode:'closed'}).innerHTML = ` |
| <style> |
| :host { |
| width: 100%; |
| height: 20%; |
| } |
| :host(.flex) { |
| display:flex; |
| } |
| ::slotted(span) { |
| flex: 1; |
| color: green; |
| background: green; |
| height: 100%; |
| } |
| </style> |
| <slot></slot>`; |
| window.getComputedStyle(document.querySelector('#host3')).width; |
| document.querySelector('#host3').className = "flex"; |
| |
| const root4 = document.querySelector('#host4').attachShadow({mode:'closed'}); |
| root4.innerHTML = ` |
| <style> |
| :host { |
| width: 100%; |
| height: 20%; |
| } |
| #deephost { |
| width: 100%; |
| height: 100%; |
| display: flex; |
| background: red; |
| } |
| ::slotted(span) { |
| flex: 1; |
| color: green; |
| background: green; |
| height: 100%; |
| } |
| </style> |
| <div id="deephost"> |
| <slot></slot> |
| </div>`; |
| root4.querySelector('#deephost').attachShadow({mode:'closed'}).innerHTML = `<slot></slot>`; |
| |
| document.querySelector('#host5').attachShadow({mode:'closed'}).innerHTML = ` |
| <style> |
| :host { |
| width: 100%; |
| height: 20%; |
| } |
| ::slotted(span) { |
| flex: 1; |
| color: green; |
| background: green; |
| height: 100%; |
| } |
| slot { |
| display:flex; |
| width: 100%; |
| height: 100%; |
| } |
| </style> |
| <slot></slot>`; |
| |
| </script> |