🍃
[Tailwind CSS] ログイン画面UI
🌱 はじめに
この記事では、ログイン画面 UI の実装方法を解説します。
画面は、下記の Tailwind Play で表示を確認しています。各章の HTML を Tailwind Play の左側の HTML 欄に貼り付けると、右側に表示されます。
🌱 1. ログイン情報入力前画面

ボタンに hover していないとき

ボタンに hover したとき
<div class="bg-gray-100 min-h-screen flex items-center justify-center">
<div class="bg-white p-8 rounded-lg shadow-lg w-96">
<h2 class="text-2xl font-bold mb-6 text-center text-gray-800">ログイン</h2>
<form action="#" method="POST">
<div class="mb-4">
<label for="email" class="block text-sm font-medium text-gray-700">メールアドレス</label>
<input
type="email"
id="email"
name="email"
placeholder="your@example.com"
required
class="mt-1 w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm"
/>
</div>
<div class="mb-6">
<label for="password" class="block text-sm font-medium text-gray-700">パスワード</label>
<input
type="password"
id="password"
name="password"
placeholder="••••••••"
required
class="mt-1 w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm"
/>
</div>
<div class="flex items-center justify-between mb-4">
<div class="flex items-center">
<input type="checkbox" id="remember" name="remember" class="h-4 w-4 accent-sky-500" />
<label for="remember" class="ml-2 block text-sm text-gray-900">ログイン状態を保持</label>
</div>
</div>
<button type="submit" class="w-full bg-sky-500 text-white py-2 px-4 rounded-md shadow hover:bg-sky-600">
ログイン
</button>
</form>
</div>
</div>
🌱 2. ログイン失敗画面

※ エラー時の見た目を確認するための静的な HTML です。ログインの判定処理は含みません。
<div class="bg-gray-100 min-h-screen flex items-center justify-center">
<div class="bg-white p-8 rounded-lg shadow-lg w-96">
<h2 class="text-2xl font-bold mb-6 text-center text-gray-800">ログイン</h2>
<div class="bg-red-100 text-red-700 p-4 rounded-md mb-4 text-sm">
メールアドレスまたはパスワードが間違っています。
</div>
<form action="#" method="POST">
<div class="mb-4">
<label for="email" class="block text-sm font-medium text-gray-700">メールアドレス</label>
<input
type="email"
id="email"
name="email"
placeholder="your@example.com"
required
class="mt-1 w-full px-4 py-2 border border-red-500 rounded-md shadow-sm"
/>
</div>
<div class="mb-6">
<label for="password" class="block text-sm font-medium text-gray-700">パスワード</label>
<input
type="password"
id="password"
name="password"
placeholder="••••••••"
required
class="mt-1 w-full px-4 py-2 border border-red-500 rounded-md shadow-sm"
/>
</div>
<div class="flex items-center justify-between mb-4">
<div class="flex items-center">
<input type="checkbox" id="remember" name="remember" class="h-4 w-4 accent-sky-500" />
<label for="remember" class="ml-2 block text-sm text-gray-900">ログイン状態を保持</label>
</div>
</div>
<button type="submit" class="w-full bg-sky-500 text-white py-2 px-4 rounded-md shadow hover:bg-sky-600">
ログイン
</button>
</form>
</div>
</div>
Discussion