CSS Tips | 超実務コアCSSテクニック:UIパーツ - プレースホルダー装飾

Web APP CSS
スポンサーリンク

プレースホルダー装飾は「入力前のガイド」を美しく・分かりやすくするテクニック

プレースホルダー(placeholder)は、 「何を入力すればいいか」 を示す大事な UI の一部です。

しかし、デフォルトのままだと薄いグレーで味気なく、 場合によっては読みにくいこともあります。

そこで使うのが プレースホルダー装飾。 色・太さ・位置・アニメーションを調整することで、 入力前の体験をぐっと良くできます。

ここでは CSS と Tailwind CSS の両方で、 初心者でも迷わないように例題を交えて丁寧に解説します。

プレースホルダー装飾の基本

プレースホルダー専用の疑似要素

CSS では以下の疑似要素を使います。

::placeholder

Tailwind では以下のプレフィックスを使います。

placeholder:

これを使うことで、 文字色・太さ・透明度などを自由に変更できます。

例1:基本の「読みやすいプレースホルダー」

CSS 版

.input-basic {
  padding: 0.6rem 0.8rem;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: 1rem;
}

.input-basic::placeholder {
  color: #9ca3af; /* gray-400 */
}
CSS
<input type="text" class="input-basic" placeholder="名前を入力">
HTML

Tailwind 版

<input
  type="text"
  class="px-3 py-2 border border-gray-300 rounded-lg
         placeholder:text-gray-400"
  placeholder="名前を入力">
HTML

深掘りポイント

デフォルトのプレースホルダーは薄すぎることが多いので、 gray-400〜500 くらいの濃さにすると読みやすくなります。

例2:プレースホルダーを「太字」にしてガイドを強調

CSS 版

.input-bold::placeholder {
  font-weight: 600;
  color: #6b7280; /* gray-500 */
}
CSS
<input type="text" class="input-bold" placeholder="メールアドレス">
HTML

Tailwind 版

<input
  type="text"
  class="px-3 py-2 border border-gray-300 rounded-lg
         placeholder:font-semibold placeholder:text-gray-500"
  placeholder="メールアドレス">
HTML

深掘りポイント

太字にすると「入力ガイドとしての存在感」が増します。 フォームが多いページでは特に効果的です。

例3:プレースホルダーの色をブランドカラーにする

CSS 版

.input-brand::placeholder {
  color: #2563eb; /* sky-600 */
}
CSS
<input type="text" class="input-brand" placeholder="検索キーワード">
HTML

Tailwind 版

<input
  type="text"
  class="px-3 py-2 border border-gray-300 rounded-lg
         placeholder:text-sky-600"
  placeholder="検索キーワード">
HTML

深掘りポイント

ブランドカラーを使うと、 フォーム全体の世界観が統一されます。

ただし、濃すぎる色は「入力済みの文字」と混同されるので注意。

例4:フォーカス時にプレースホルダーを薄くする

CSS 版

.input-focus {
  padding: 0.6rem 0.8rem;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  transition: border-color 0.2s ease;
}

.input-focus:focus {
  border-color: #2563eb;
}

.input-focus:focus::placeholder {
  color: #cbd5e1; /* gray-300 */
}
CSS
<input type="text" class="input-focus" placeholder="ユーザー名">
HTML

Tailwind 版

<input
  type="text"
  class="px-3 py-2 border border-gray-300 rounded-lg
         focus:border-sky-600
         placeholder:text-gray-500
         focus:placeholder:text-gray-300
         transition"
  placeholder="ユーザー名">
HTML

深掘りポイント

フォーカス時にプレースホルダーを薄くすると、 「入力モードに入った」ことが自然に伝わります。

例5:プレースホルダーを“動かす”フローティングラベル風

※本格的なフローティングラベルより簡易版

CSS 版

.input-float {
  position: relative;
  padding: 0.8rem 0.8rem 0.4rem;
  border: 1px solid #d1d5db;
  border-radius: 8px;
}

.input-float::placeholder {
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.input-float:focus::placeholder {
  transform: translateY(-8px);
  opacity: 0.5;
}
CSS
<input type="text" class="input-float" placeholder="パスワード">
HTML

Tailwind 版(任意値)

<input
  type="text"
  class="px-3 py-3 border border-gray-300 rounded-lg
         placeholder:transition-all
         focus:placeholder:translate-y-[-8px]
         focus:placeholder:opacity-50"
  placeholder="パスワード">
HTML

深掘りポイント

プレースホルダーが少し上に動くことで、 「入力欄がアクティブになった」ことが視覚的に分かります。 フローティングラベルほど複雑ではないのに効果が高いです。

例6:プレースホルダーにアイコンを入れる(応用)

※実際は背景画像を使う

CSS 版

.input-icon {
  padding-left: 2rem;
  background: url('icon.svg') no-repeat 0.5rem center;
  background-size: 1rem;
}

.input-icon::placeholder {
  color: #9ca3af;
}
CSS
<input type="text" class="input-icon" placeholder="検索">
HTML

Tailwind 版(任意値)

<input
  type="text"
  class="pl-8 bg-[url('icon.svg')] bg-no-repeat bg-left bg-[length:1rem]
         placeholder:text-gray-400"
  placeholder="検索">
HTML

深掘りポイント

プレースホルダーにアイコンを添えると、 「何を入力する欄なのか」が直感的に分かります。

プレースホルダー装飾の設計ポイント

プレースホルダーは“入力前のガイド”

濃すぎると入力文字と混ざる 薄すぎると読めない 太すぎると主張しすぎる

このバランスがとても重要です。

フォーカス時の変化を入れると UX が向上

フォーカス時に薄くする フォーカス時に動かす フォーカス時に色を変える

これらは「入力モード」を自然に伝える効果があります。

アクセシビリティを意識する

プレースホルダーは“説明文”ではなく“補助”なので、 本来のラベル(label)は必ず別に用意するのが正解です。

そのまま使える「万能プレースホルダー装飾フォーム」(Tailwind)

<input
  type="text"
  class="px-4 py-2 rounded-lg border border-gray-300 bg-white
         placeholder:text-gray-500
         focus:border-sky-600
         focus:placeholder:text-gray-300
         focus:shadow-[0_0_0_3px_rgba(37,99,235,0.25)]
         focus:outline-none
         transition"
  placeholder="入力してください">
HTML

読みやすさ・フォーカス時の変化・アクセシビリティのバランスが良く、 どんな UI にも使える万能テンプレートです。

さいごに

プレースホルダー装飾は、 入力前の体験を整えるための小さな UI デザイン です。

ほんの少しの色や動きで、 フォームの使いやすさが大きく変わります。

もしあなたが作っているフォーム(ログイン、検索、問い合わせなど)があれば、 そのフォームに合わせた最適なプレースホルダー装飾を一緒に設計できます。

タイトルとURLをコピーしました