TECH I.S.

CSS フォーム


CSSを使用すると、HTMLフォームの外観を大幅に改善できます。


inputフィールドのスタイリング

widthプロパティを使用して、入力フィールドの幅を決定します。



input { width: 100%; }
自分で試してみる»
上記の例は、すべての<input>要素に適用されます。特定の入力タイプのみをスタイルしたい場合は、属性セレクターを使用できます。
  • input[type=text]- テキストフィールドのみを選択します
  • input[type=password]- パスワードフィールドのみを選択します
  • input[type=number]- 数値フィールドのみを選択します
  • 等..

Paddingがとられたinput

テキストフィールド内にスペースを追加するには、paddingプロパティを使用します。

ヒント:多数の入力が連続する場合は、marginを追加して、入力の外側にスペースを追加することもできます。





input[ type=text ] { width: 100%; padding: 12px 20px; margin : 8px 0; box-sizing: border-box; }
自分で試してみる»
box-sizingプロパティをborder-boxに設定していることに注意してください。これにより、パディングと最終的にはボーダーが要素の幅と高さの合計に含まれるようになります。box-sizingプロパティの詳細については、CSS ボックスのサイズ変更を参照してください。

枠線がついたinput

borderプロパティを使用して枠線のサイズと色を変更し、border-radiusプロパティを使用して丸い角を追加します。



input[type=text]{ border: 2px solid red; border-radius: 4px; }
自分で試してみる»

下の枠線のみが必要な場合は、border-bottomプロパティを使用します。



input[type=text]{ border:none; border-bottom: 2px solid red; }
自分で試してみる»

色がついたinput

背景色を入力に追加するには、background-colorプロパティを使用し、テキストの色を変更するには、colorプロパティを使用します。


input[type=text]{ background-color: #3CBC8D; color: white; }
自分で試してみる»

フォーカスされたinput

デフォルトでは、一部のブラウザーは、入力がフォーカスされる(クリックされる)と、入力の周りに青いアウトラインを追加します。この動作は、input 要素にoutline: none;を追加することで削除できます。

入力フィールドがフォーカスされたときに、 :focusセレクターを使用して入力フィールドに対して何らかの処理を行います。

input[type=text]:focus{ background-color: lightblue; }
自分で試してみる»

input[type=text]:focus{   border: 3px solid #555; }
自分で試してみる»

アイコンや画像がついたinput

入力内にアイコンが必要な場合は、background-imageプロパティを使用し、background-positionプロパティでアイコンを配置します。また、アイコンのスペースを確保するために大きな左パディングを追加していることにも注意してください。


input[type=type]{ background-color: white; background-image: url('searchicon.png'); background-position: 10px 10px; background-repeat: no-repeat; padding-left: 40px; }
自分で試してみる»

アニメーションがついた検索のinput

この例では、CSStransitionプロパティを使用して、フォーカスを取得したときに検索入力の幅をアニメーション化します。トランジション プロパティについては、後ほどCSS トランジション章で詳しく説明します。


input[type=text]{ transition: width 0.4s ease-in-out; } input[type=text]{ width:100%; }

自分で試してみる»


テキストエリアのスタイリング

ヒント:テキストエリアのサイズが変更されないようにするには、resizeプロパティを使用します(右下隅の「グラバー」を無効にします)。

textarea { width:100%; height: 150px; padding: 12px 20px; box-sizing: border-box; border: 2px solid #ccc; border-radius: 4px; background-color: #f8f8f8; resize: none; }
自分で試してみる»

選択メニューのスタイリング

select{   width: 100%;   padding: 16px 20px;   border: none;   border-radius: 4px;   background-color: #f1f1f1; }

自分で試してみる»


inputボタンのスタイリング



input[type=button], input[type=submit], input[type=reset] { background-color: #04AA6D; border: none; color: white; padding: 16px 32px; text-decoration: none; margin: 4px 2px; cursor: pointer; } /* ヒント: 全幅ボタンの場合は width: 100% を使用します。 */
自分で試してみる»
CSS を使用してボタンのスタイルを設定する方法の詳細については、CSS ボタンのチュートリアルを参照してください。

レスポンシブフォーム

ブラウザーウィンドウのサイズを変更して効果を確認します。画面の幅が 600px 未満の場合は、2 つの列を隣同士ではなく、互いに重ねて配置します。


発展:次の例では、メディアクエリを使用して応答性の高いフォームを作成します。これについては後の章で詳しく学びます。




自分で試してみる»




プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細