デザイン

デザイン

PR

上級ワザ!CSSだけでフォームをスタイリングする方法【デザイナーなら知っておきたい】

3,504 views

読了時間 : 約2分0秒

CSSでフォームを作るのはいつも大変です。しかし便利なセレクタが登場し、以前よりも強力なスタイリングが可能になっています。

今回はCSSのみでフォームをスタイリングする上級ワザを紹介します。

 

 

:placeholder-shown

まだ登場したばかりで、ブラウザのサポートも十分とは言えません。しかし新しいだけあって強力です。このセレクタで、プレースホルダーがユーザーに見える状態かどうかを検出できます。フォームに関連したラベルを動的に表示・非表示する場合にとても便利です。

 

ここでは、ユーザが何かを入力するまでラベルを隠し、入力があると今度はプレースホルダーを隠すようにしています。

 

 

 

 

 

:required

このセレクタでは、フォームにrequired属性を加えられます。ここでは空のspanである.help-textを使い、疑似要素::beforeを利用していくつかのコンテンツを動的に表示しています。本当ならばJavaScriptでやるべき処理ですが、CSSだけでも同じことが実現できるのです。

 


 

 

 

:optional

こちらは:requiredとは逆の動作をします。.help-textを使って、required属性がない時にオプションのテキストを表示しています。

 

 

 

 

:disabled

おそらく多くの方がご存じでしょうが、非常に重要なセレクタであるため、復習しておきましょう。フォームが無効化されているかどうかを知るためには欠かせません。

 

 

 

:read-only

読み取り専用属性ついたフォームは、無効化されたものとは若干異なるデザインに仕上げましょう。このセレクタで簡単に実装できます。

 

 

 
 

:valid

フォームの検証にはJavaScriptを使うことが多いですが、HTML5の機能を利用することも可能です。このセレクタで、ネイティブブラウザの検証ルールを適用しているフォームのスタイルを変更できます。今回はSVGをエンコードし、background-imageプロパティを使ってフォーム内にチェックボックスを表示させています。

 

 

 

 

:in-range/:out-of-range

入力された文字数が、指定した上限を超えていないか判定できます。

 

 

 

 

いかがでしたか?機能が強化され、CSSだけでも十分に実用的なフォームが作れるようになっています。次にフォームを作る時には、ぜひ今回紹介したワザで快適なフォームに仕上げてください。

 

 

▼こちらの記事もおすすめです!

CSS専用の画像ギャラリーを作成する方法【機能クエリの重要性についても理解しよう】

【CSSのセレクタを使いこなす!】フォームのスタイリングで便利なセレクタを解説

 

 

 

※本記事はAdvanced CSS-Only Form Stylingを翻訳・再構成したものです。

おすすめ新着記事

おすすめタグ