<header class="top-app-bar elevation-1">
  <nav>
    <span class="title">Web Shop</span>
    <span class="nav-links">
      <a href="#">Home</a>
      <button popovertoggletarget="products">
        Products
        <i class="material-icons">expand_more</i>
      </button>
      <a href="#">Pricing</a>
    </span>
    <div popover class="menu elevation-3" id="products">
      <ul>
        <li>
          <a autofocus href="#">HTML</a>
        </li>
        <li>
          <button popovertoggletarget="css">
            CSS
            <i class="material-icons">chevron_right</i>
          </button>
        </li>
        <li>
          <a href="#">JavaScript</a>
        </li>
      </ul>
    </div>
  </nav>
  <div popover class="menu elevation-3" id="css">
    <ul>
      <li>
        <a autofocus href="#">:has()</a>
      </li>
      <li>
        <a href="#">Anchoring</a>
      </li>
      <li>
        <a href="#">Properties and Values API</a>
      </li>
    </ul>
  </div>
</header>
<main>
  <h1>Welcome to the Web Shop</h1>
</main>
@layer demo {
  [popover] {
    margin: 0;
    background: var(--md-sys-comp-top-app-bar-background-color);
  }

  button[popovertoggletarget] {
    box-shadow: none;
    font-size: inherit;
  }

  .menu {
    border: 0;
    padding: var(--size-4);
    border-radius: var(--radius-2);
  }

  :is(a[href], button):is(:hover, :focus-visible) {
    color: var(--blue-8);
    text-decoration: none;
  }

  .menu ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
  }

  .menu li {
    width: 100%;
    padding: 0;
    text-align: left;
  }

  .nav-links {
    display: inline-flex;
    gap: var(--size-4);
    align-items: center;
    justify-content: center;
  }

  nav,
  header {
    position: relative;
  }

  [popovertoggletarget="products"] {
    anchor-name: --products;
  }

  [popovertoggletarget="css"] {
    anchor-name: --css;
  }

  #css {
    position: absolute;
    top: anchor(--css top);
    left: anchor(--css right);
  }

  #products {
    position: absolute;
    left: anchor(--products left);
    top: anchor(--products bottom);
    margin: 0;
  }

  .anchor {
    anchor-name: --anchor;
    width: max(48px, 10vmin);
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    background: red;
    /*margin-left: -1000px;*/
  }
  .anchor,
  #anchored {
    translate: var(--offset-x, 0) 0;
  }

  .anchor svg {
    width: 100%;
    fill: var(--gray-3);
  }

  #anchored {
    position: absolute;
    position-fallback: --top-to-bottom;
    /*left: anchor(--anchor left);
  top: anchor(--anchor top);*/
    /*anchor-scroll: --anchor;*/
    margin: 0;
    background: purple;
    color: var(--gray-0);
    padding: var(--size-4);
    /* Assumptions */
    /*transform: translateX(calc(anchor-size(--anchor width) * 1px);*/
  }
}

@layer base {
  *,
  *:after,
  *:before {
    box-sizing: border-box;
  }

  :where([popup]) {
    margin: auto;
    border-width: initial;
    border-style: solid;
  }

  body {
    background: var(--gradient-7);
    font-family: "Google Sans", sans-serif, system-ui;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: auto;
    min-height: 100vh;
  }

  main h1 {
    color: var(--gray-0);
    max-inline-size: 100%;
  }

  main {
    padding: var(--size-4);
  }

  .top-app-bar {
    width: 100%;
    grid-template-columns: 1fr;
  }

  .top-app-bar .title {
    font-family: "Google Sans", sans-serif, system-ui;
    flex: 0 0 auto;
    margin-right: var(--size-8);
  }

  nav {
    width: 100%;
    max-width: min(100%, var(--size-lg));
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }

  :is(nav, .menu) :is(a[href], button) {
    min-height: 48px;
    color: var(--gray-8);
    background: none;
    place-items: center;
    padding: 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0;
  }
}

External CSS

  1. https://codepen.io/web-dot-dev/pen/XWqWYgB.css
  2. https://codepen.io/web-dot-dev/pen/ZExZWBQ.css

External JavaScript

  1. https://codepen.io/web-dot-dev/pen/XWqWYgB.js
  2. https://codepen.io/web-dot-dev/pen/ZExZWBQ.js