作成方法:レスポンシブフォーム
- 前のページ スタックフォーム
- 次のページ ポップアップフォーム
CSSを使用してレスポンシブフォームを作成する方法を学びます。
レスポンシブフォーム
ブラウザのウィンドウサイズを調整して効果を確認してください(小さいスクリーンでは、タグと入力フィールドが並べ替わり、並排ではありません):
レスポンシブフォームの作成方法
第1歩 - HTMLを追加:
<form> 要素を使用して入力を処理します。詳細については、PHPのチュートリアルを参照してください。
各フィールドに入力を追加(対応するラベルとともに)し、各ラベルと入力を <div> 要素で囲んで、CSSで指定された幅を設定します:
<div class="container"> <form action="action_page.php"> <div class="row"> <div class="col-25"> <label for="fname">First Name</label> </div> <div class="col-75"> <input type="text" id="fname" name="firstname" placeholder="Your name.."> </div> </div> <div class="row"> <div class="col-25"> <label for="lname">Last Name</label> </div> <div class="col-75"> <input type="text" id="lname" name="lastname" placeholder="Your last name.."> </div> </div> <div class="row"> <div class="col-25"> <label for="country">Country</label> </div> <div class="col-75"> <select id="country" name="country"> <option value="australia">Australia</option> <option value="canada">Canada</option> <option value="usa">USA</option> </select> </div> </div> <div class="row"> <div class="col-25"> <label for="subject">Subject</label> </div> <div class="col-75"> <textarea id="subject" name="subject" placeholder="Write something.." style="height:200px"></textarea> </div> </div> <div class="row"> <input type="submit" value="Submit"> </div> </form> </div>
第二步 - 添加 CSS:
/* 为输入框、选择元素和文本域设置样式 */ input[type=text], select, textarea{ width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; resize: vertical; } /* 设置标签的样式以使其显示在输入框旁边 */ label { padding: 12px 12px 12px 0; display: inline-block; } /* 设置提交按钮的样式 */ input[type=submit] { background-color: #04AA6D; color: white; padding: 12px 20px; border: none; border-radius: 4px; cursor: pointer; float: right; } /* 设置容器的样式 */ .container { border-radius: 5px; background-color: #f2f2f2; padding: 20px; } /* 标签浮动列:25% 宽度 */ .col-25 { float: left; width: 25%; margin-top: 6px; } /* 输入浮动列:75% 宽度 */ .col-75 { float: left; width: 75%; margin-top: 6px; } /* 清除列后的浮动 */ .row:after { content: ""; display: table; clear: both; } /* 响应式布局 - 当屏幕宽度小于 600px 时,使两列堆叠,而不是并排 */ @media screen and (max-width: 600px) { .col-25, .col-75, input[type=submit] { width: 100%; margin-top: 0; } }
関連ページ
チュートリアル:HTMLフォーム
チュートリアル:CSSフォーム
- 前のページ スタックフォーム
- 次のページ ポップアップフォーム