# Topページの作成4

次に、コンテンツ部分を作成していきます。以下のように記述します。

<pre class="language-tsx" data-title="pages/TopPage.tsx◎"><code class="lang-tsx">export const TopPage = () => {
  return (
    &#x3C;div className="relative">
      &#x3C;header className="leading-[50px] fixed top-0 left-0 right-0">
        &#x3C;div className="container mx-auto flex justify-between">
          &#x3C;p className="logo">スケジュール管理APP&#x3C;/p>
          &#x3C;nav>
            &#x3C;ul className="flex gap-5 text-lime-800">
              &#x3C;li>ご利用方法&#x3C;/li>
              &#x3C;li>ログイン&#x3C;/li>
            &#x3C;/ul>
          &#x3C;/nav>
        &#x3C;/div>
      &#x3C;/header>
<strong>      &#x3C;main>
</strong><strong>        &#x3C;div>
</strong><strong>          &#x3C;h1>スケジュール管理APP&#x3C;/h1>
</strong><strong>          &#x3C;p>
</strong><strong>            お互いのスケジュールを管理するアプリです
</strong><strong>          &#x3C;/p>
</strong><strong>          &#x3C;div>
</strong><strong>            &#x3C;button>
</strong><strong>              ログイン
</strong><strong>            &#x3C;/button>
</strong><strong>          &#x3C;/div>
</strong><strong>        &#x3C;/div>
</strong><strong>      &#x3C;/main>
</strong>    &#x3C;/div>
  );
}

</code></pre>

ではコンテンツ部分をスタイリングしていきます。

その前にヘッダーが透過しているので、`bg-white`にてヘッダーの背景色を白にしましょう。

<pre class="language-tsx" data-title="pages/TopPage.tsx◎"><code class="lang-tsx">...
<strong>      &#x3C;header className="bg-white leading-[50px] fixed top-0 left-0 right-0">
</strong>        &#x3C;div className="container mx-auto flex justify-between">
...

</code></pre>

まずヘッダー部分をfixedとしているので、コンテンツ部分にヘッダー分の余白を設けましょう。

`leading-[50px]`としているので、`pt-[50px]`（padding-top: 50px）とします。

<pre class="language-tsx" data-title="pages/TopPage.tsx◎"><code class="lang-tsx">...
<strong>      &#x3C;main className="pt-[50px]">
</strong> ...
</code></pre>

コンテンツ部分全体に背景色をつけます。背景色はグラデーションをつけます。

`bg-gradient-to-r`とすることで、左から右にグラデーションをつけることができます。

`from-lime-100`、`to-lime-200`とすることで、1番左側が`lime-100`の色となり、1番右側が`lime-200`の色となるようにグラデーションをつけることができます。

<pre class="language-tsx" data-title="pages/TopPage.tsx◎"><code class="lang-tsx">...
<strong>      &#x3C;main className="pt-[50px] bg-gradient-to-r from-lime-100 to-lime-200">
</strong>...
</code></pre>

コンテンツの要素を画面の高さいっぱいにしたい場合は、`h-screen`(height: 100vh)を使用します。

<pre class="language-tsx" data-title="pages/TopPage.tsx◎"><code class="lang-tsx">...
<strong>      &#x3C;main className="pt-[50px] bg-gradient-to-r from-lime-100 to-lime-200 h-screen">
</strong>...
</code></pre>

Topページのタイトルと内容の部分をスタイリングしていきます。

こちらを中央寄せするのに、`text-center`(text-align: center)を使用しましょう。

<pre class="language-tsx" data-title="pages/TopPage.tsx◎"><code class="lang-tsx">...
<strong>        &#x3C;div className="text-center">
</strong>          &#x3C;h1>スケジュール管理APP&#x3C;/h1>
          &#x3C;p>お互いのスケジュールを管理するアプリです&#x3C;/p>
          &#x3C;div>
            &#x3C;button>ログイン&#x3C;/button>
          &#x3C;/div>
        &#x3C;/div>
...
</code></pre>

タイトルに関しては、`text-7xl`(font-size: 72px)を使用し、先ほど作成した`logo`を使用しましょう。

<pre class="language-tsx" data-title="pages/TopPage.tsx◎"><code class="lang-tsx">...
<strong>          &#x3C;h1 className="text-7xl logo">スケジュール管理APP&#x3C;/h1>
</strong>...
</code></pre>

文章に関しては、タイトルとスペースを開けるため、`pt-[10vh]`(padding-top: 10vh)を使用し、`text-5xl`(font-size: 48px)を使用します。

<pre class="language-tsx" data-title="pages/TopPage.tsx◎"><code class="lang-tsx">...          
<strong>          &#x3C;p className="pt-[10vh] text-5xl">お互いのスケジュールを管理するアプリです&#x3C;/p>
</strong>...
</code></pre>

&#x20;ログインのボタンに関しては、上にスペースを開けるために`pt-[20vh]`(padding-top: 20vh)を使用し、

ボタンは`bg-lime-800 text-white p-4 text-lg rounded-lg`としましょう。

<pre class="language-tsx" data-title="pages/TopPage.tsx◎"><code class="lang-tsx">...
<strong>          &#x3C;div className="pt-[20vh]">
</strong><strong>            &#x3C;button className="bg-lime-800 text-white p-4 text-lg rounded-lg">
</strong><strong>              ログイン
</strong><strong>            &#x3C;/button>
</strong><strong>          &#x3C;/div>
</strong>...
</code></pre>

次に、コンテンツ全体が上部によっているので、縦方向の中央に寄せましょう。

そのため、親要素にて`display: flexとして、子要素を横並びにして、flex-direction: columnで`要素を縦方向に並べるようにし、`justify-content: center`で縦方向の中央寄せ、`align-items: center`で横方向の中央寄せを実現します。こちらをtailwindcssにて、`flex flex-col justify-center items-center`を使用します。

<pre class="language-tsx" data-title="pages/TopPage.tsx◎"><code class="lang-tsx">...
<strong>      &#x3C;main className="pt-[50px] bg-gradient-to-r from-lime-100 to-lime-200 h-screen flex flex-col justify-center items-center">
</strong>...
</code></pre>

これで画面を確認すると、以下のように表示されているかと思います。

<figure><img src="https://1869761657-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcUBbYqol4PMzZJggiMqV%2Fuploads%2FC0OE9Es4oG0Ua6x17nbW%2F1a.png?alt=media&#x26;token=62129f24-0d81-4897-9a24-6b17bf6da5de" alt=""><figcaption></figcaption></figure>

ここまでの作業をcommitしましょう。

```bash
git add .
```

```bash
git commit
```

commitメッセージは

```
feat: Topページを作成
```

としましょう。
