Di bawah ini kita akan mempelajari cara membuat formulir responsif dengan CSS.
Responsive Form
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> * { box-sizing: border-box; } input[type=text], select, textarea { width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 4px; resize: vertical; } /* Style untuk label ditampilkan setelah input */ label { padding: 12px 12px 12px 0; display: inline-block; } input[type=submit] { background-color: #4CAF50; color: white; padding: 12px 20px; border: none; border-radius: 4px; cursor: pointer; float: right; } input[type=submit]:hover { background-color: #45a049; } .container { border-radius: 5px; background-color: #f2f2f2; padding: 20px; } .col-25 { float: left; width: 25%; margin-top: 6px; } .col-75 { float: left; width: 75%; margin-top: 6px; } /* Hapus floats setelah kolom */ .row:after { content: ""; display: table; clear: both; } /* Responsive layout - ketika layar kurang dari 600px lebarnya, buat dua kolom bertumpuk satu sama lain, bukan di samping satu sama lainr */ @media screen and (max-width: 600px) { .col-25, .col-75, input[type=submit] { width: 100%; margin-top: 0; } } </style> </head> <body> <h2>Responsive Form</h2> <p>Ubah ukuran jendela browser untuk melihat efeknya. Saat layar kurang dari 600px lebarnya, buat dua kolom bertumpuk satu sama lain, bukan di samping satu sama lain.</p> <div class="container"> <form action="/action_page.php"> <div class="row"> <div class="col-25"> <label for="fname">Nama Depan</label> </div> <div class="col-75"> <input type="text" id="fname" name="firstname" placeholder="Nama Depanmu.."> </div> </div> <div class="row"> <div class="col-25"> <label for="lname">Nama Belakang</label> </div> <div class="col-75"> <input type="text" id="lname" name="lastname" placeholder="Nama Belakangmu.."> </div> </div> <div class="row"> <div class="col-25"> <label for="country">NEgara</label> </div> <div class="col-75"> <select id="country" name="country"> <option value="australia">Indonesia</option> <option value="canada">UK</option> <option value="usa">USA</option> </select> </div> </div> <div class="row"> <div class="col-25"> <label for="subject">Subjek</label> </div> <div class="col-75"> <textarea id="subject" name="subject" placeholder="Tulis sesuatu di sini.." style="height:200px"></textarea> </div> </div> <div class="row"> <input type="submit" value="Submit"> </div> </form> </div> </body> </html>
Cara Membuat Responsive Form
Langkah 1) Tambahkan HTML
Gunakan elemen <form> untuk memproses inputan. Tambahkan inputan(dengan label yang cocok) untuk setiap field dan bungkus elemen <div> di sekitar setiap label dan inputan untuk menyetel lebar yang ditentukan dengan CSS:
Contoh
<form action="/action_page.php">
<div class="row">
<div class="col-25">
<label for="fname">Nama Depan</label>
</div>
<div class="col-75">
<input type="text" id="fname" name="firstname" placeholder="Nama Depanmu..">
</div>
</div>
<div class="row">
<div class="col-25">
<label for="lname">Nama Belakang</label>
</div>
<div class="col-75">
<input type="text" id="lname" name="lastname" placeholder="Nama Belakangmu..">
</div>
</div>
<div class="row">
<div class="col-25">
<label for="country">Negara</label>
</div>
<div class="col-75">
<select id="country" name="country">
<option value="australia">Indonesia</option>
<option value="canada">UK</option>
<option value="usa">USA</option>
</select>
</div>
</div>
<div class="row">
<div class="col-25">
<label for="subject">Subjek</label>
</div>
<div class="col-75">
<textarea id="subject" name="subject" placeholder="Tulis sesuatu di sini.." style="height:200px"></textarea>
</div>
</div>
<div class="row">
<input type="submit" value="Submit">
</div>
</form>Langkah 2) Tambahkan CSS:
Contoh
/* Style inputs, select elements dan textareas */
input[type=text], select, textarea{
width: 100%;
padding: 12px;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
resize: vertical;
}
/* Style untuk label ditampilkan setelah input */
label {
padding: 12px 12px 12px 0;
display: inline-block;
}
/* Style untuk submit button */
input[type=submit] {
background-color: #4CAF50;
color: white;
padding: 12px 20px;
border: none;
border-radius: 4px;
cursor: pointer;
float: right;
}
/* Style untuk container */
.container {
border-radius: 5px;
background-color: #f2f2f2;
padding: 20px;
}
/* Floating kolom untuk label: lebar 25% */
.col-25 {
float: left;
width: 25%;
margin-top: 6px;
}
/* floating kolom untuk input: lebar 75% */
.col-75 {
float: left;
width: 75%;
margin-top: 6px;
}
/* Hapus floats setelah kolom */
.row:after {
content: "";
display: table;
clear: both;
}
/* Responsive layout -ketika layar kurang dari 600px lebarnya, buat dua kolom bertumpuk satu sama lain, bukan di samping satu sama lain*/
@media screen and (max-width: 600px) {
.col-25, .col-75, input[type=submit] {
width: 100%;
margin-top: 0;
}
}