全屏
<nav>tur? Blanditiis,
        quibusdam.
      </p>
      <button
        class="nav-control"
        aria-haspopup="true"
        aria-expanded="false"
        aria-controls="nav"
        aria-pressed="false"
      >
        <span>Menu Collapsed</span><span>Menu Expanded</span
        ><svg class="nav__icon" viewBox="0 0 24 24" role="img">
          <title>Menu icon</title>
          <path
            d="M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z"
            fill="var(--color)"
          ></path>
          <path
            d="M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z"
            fill="var(--color)"
          ></path>
        </svg>
      </button>
      <ul>
        <li>Home</li>
        <li>About</li>
        <li>Writing</li>
      </ul>
    </nav>
    <header>
      <h1>Some Awesome Site</h1>
    </header>
    <main>
      <p>
        Lorem ipsum dolor sit amet consectetur adipisicing elit. Repellat nam,
        quidem sunt dolorem earum facere modi aliquam laboriosam quos vitae
        ducimus laudantium quo cupiditate iste delectus. Sunt tenetur, est
        eligendi!
      </p>
      <p>
        Id molestias modi sunt, voluptatum omnis, deleniti quis dolores a non
        repudiandae, consectetur soluta nihil natus amet. Vitae sint maxime,
        quidem nam. Ab fugiat nostrum, aperiam consequatur dignissimos totam
        fugit?
      </p>
      <p>
        Odio facilis culpa nostrum, omnis nam quod cum architecto beatae
        cupiditate eaque asperiores, recusandae, ea esse odit porro accusantium
        earum ipsa possimus voluptas molestias et impedit. Illo cum deleniti
        necessitatibus?
      </p>
      <p>
        Possimus vel dicta, aut ad nulla nisi numquam a atque dolorum aliquid
        labore sunt velit neque alias. Harum cumque veniam numquam, explicabo,
        laborum magni voluptatibus deleniti molestias omnis recusandae quidem!
      </p>
      <p>
        Unde, delectus! Totam vero animi cum libero accusamus numquam minima
        culpa quam nesciunt omnis quae sapiente aliquid nemo nostrum earum alias
        asperiores illo, neque, delectus vel aliquam tene
    </main>
:root {
  --open: 0;
  --bg: var(--gray-9);
  --text-1: var(--gray-1);
  --text-2: var(--gray-1);
  --color: var(--gray-1);
  --header-gradient: var(--gradient-2);
  --hover-action: var(--gray-7);
  --nav-color: var(--gray-8);
  --link: var(--red-3);
}

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

body {
	font-family: 'Google Sans', sans-serif, system-ui;
	background: var(--bg);
  display: grid;
  color: var(--color);
  align-items: start;
  justify-items: center;
  min-height: 100vh;
  grid-auto-rows: min-content;
  transition: color 0.2s, background 0.2s, transform 0.2s var(--ease-1);
  overflow-x: hidden;
  transform: translateX(calc(var(--open, 0) * -200px));
}

[aria-pressed] {
  background: none;
  border-radius: 50%;
}

[aria-pressed]:hover {
  background: var(--hover-action);
}

nav {
  padding: var(--size-fluid-3) 0;
  width: 100vw;
  background: var(--nav-color);
  position: fixed;
  top: 0;
  width: 200px;
  left: 100%;
  bottom: 0;
  box-shadow: var(--inner-shadow-4);
}

header {
  padding: var(--size-12) 0;
  background: var(--header-gradient);
  width: 100%;
  display: grid;
  place-items: center;
}

h1 {
  text-align: center;
  width: 100%;
  font-size: var(--font-size-fluid-3);
  margin: 0;
}

:where(p, ul) {
  font-size: var(--font-size-fluid-0);
  max-inline-size: var(--size-content-2);
}

nav ul {
  list-style-type: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  padding: 0;
  margin: 0;
  width: var(--size-xl);
  gap: var(--size-4);
  display: none;
}

nav li:hover {
  text-decoration: underline var(--size-1) var(--color);
}

button {
  height: 48px;
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
  padding: 0;
}

button span {
  position: absolute;
  inset: 0;
  opacity: 0;
  color: transparent;
}

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

* + p {
  margin-top: var(--size-4);
}

[aria-pressed] :is(span, svg title, svg path) {
  display: none;
}

[aria-pressed="false"] :is(span:nth-of-type(1), title:nth-of-type(1), path:nth-of-type(1)),
[aria-pressed="true"] :is(span:nth-of-type(2), title:nth-of-type(2), path:nth-of-type(2)){
  display: block;
}
/*
:root:has(.theme-toggle[aria-pressed="true"]) {
  --bg: var(--gray-1);
  --color: var(--gray-9);
  --nav-color: var(--gray-2);
  --hover-action: var(--gray-3);
  --header-gradient: var(--gradient-6);
}*/

button svg {
  height: 75%;
  stroke: none;
}

[aria-expanded] {
  position: absolute;
  top: var(--size-4);
  right: calc(100% + var(--size-4));
}

:root:has([aria-expanded="true"]) {
  --open: 1;
}

:root:has([aria-expanded="true"]) nav ul {
	display: flex;
}
const NAV_CONTROL = document.querySelector('.nav-control');

const CONTROL_NAV = () => {
  NAV_CONTROL.setAttribute('aria-expanded', NAV_CONTROL.matches('[aria-expanded="false"]') ? true : false);
  NAV_CONTROL.setAttribute('aria-pressed', NAV_CONTROL.matches('[aria-expanded="false"]') ? true : false);
};

NAV_CONTROL.addEventListener('click', CONTROL_NAV);
返回