🐭

【Next.js/TailwindCSS】componentsを利用して404ページ作ってみる

2023/05/18に公開

プロジェクト作成

npx create-next-app@latest my-project --typescript --eslint
cd my-project

Tailwind CSSのインストール

npmでtailwindcssとその仲間の依存関係をインストールし、initコマンドを実行してtailwind.config.jsとpostcss.config.jsの両方を生成します。

npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p

TailwindのディレクティブをCSSに追加する

Tailwindの各レイヤーに対応する@tailwindディレクティブをglobals.cssファイルに追加しま
す。

global.css

@tailwind base;
@tailwind components;
@tailwind utilities;

実行

npm run dev

TailwindCSS のComponentsを利用

https://tailwindui.com/components

index.tsx

export default function Example() {
  return (
    <>
      {/*
        This example requires updating your template:

        ```
        <html class="h-full">
        <body class="h-full">
        ```
      */}
      <main className="grid min-h-full place-items-center bg-white px-6 py-24 sm:py-32 lg:px-8">
        <div className="text-center">
          <p className="text-base font-semibold text-indigo-600">404</p>
          <h1 className="mt-4 text-3xl font-bold tracking-tight text-gray-900 sm:text-5xl">Page not found</h1>
          <p className="mt-6 text-base leading-7 text-gray-600">Sorry, we couldn’t find the page you’re looking for.</p>
          <div className="mt-10 flex items-center justify-center gap-x-6">
            <a
              href="#"
              className="rounded-md bg-indigo-600 px-3.5 py-2.5 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
            >
              Go back home
            </a>
            <a href="#" className="text-sm font-semibold text-gray-900">
              Contact support <span aria-hidden="true">&rarr;</span>
            </a>
          </div>
        </div>
      </main>
    </>
  )
}

localhost:3000にアクセスしたら
表示できてるはずです。

完成🤐

Discussion