Named slots

<my-ce>
  <span slot="top">I'm a top</span>
  <span slot="bottom">I'm a bottom</span>
</my-ce>

<script>
  class MyCe extends HTMLElement {
    constructor() {
      super()
      const shadow = this.attachShadow({ mode: 'open' })
      shadow.innerHTML = `
        <slot name="top"></slot>
        <slot name="bottom"></slot>
      `
    }
  }
  customElements.define('my-ce', MyCe)
</script>

Done 🎉

And now you can precisely slot content into your custom element.