How TO – Stacked Form
Learn how to create a stacked form with CSS.
Stacked Form
A vertically stacked form (where inputs and labels are placed on top of each other, instead of next to each other):
Stacked Form
How to use CSS to create a stacked form:
How To Create a Stacked Form
Step 1) Add HTML
Use a <form> element to process the input. You can learn more about this in our PHP tutorial.
Add inputs (with a matching label) for each field:
Example
<form action=”/action_page.php”>
<label for=”fname”>First Name</label>
<input type=”text” id=”fname” name=”firstname” placeholder=”Your name..”>
<label for=”lname”>Last Name</label>
<input type=”text” id=”lname” name=”lastname” placeholder=”Your last name..”>
<label for=”country”>Country</label>
<select id=”country” name=”country”>
<option value=”australia”>Australia</option>
<option value=”canada”>Canada</option>
<option value=”usa”>USA</option>
</select>
<input type=”submit” value=”Submit”>
</form>
Step 2) Add CSS:
Example
<!DOCTYPE html>
<html>
<style>
body {
font-family: Arial;
}
input[type=text], select {
width: 100%;
padding: 12px 20px;
margin: 8px 0;
display: block;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
}
input[type=submit] {
width: 100%;
background-color: #04AA6D;
color: white;
padding: 14px 20px;
margin: 8px 0;
border: none;
border-radius: 4px;
cursor: pointer;
}
input[type=submit]:hover {
background-color: #45a049;
}
div.container {
border-radius: 5px;
background-color: #f2f2f2;
padding: 20px;
}
</style>
<body>
<h3>Stacked Form</h3>
<p>How to use CSS to create a stacked form:</p>
<div>
<form action=”/action_page.php”>
<label for=”fname”>First Name</label>
<input type=”text” id=”fname” name=”firstname” placeholder=”Your name..”>
<label for=”lname”>Last Name</label>
<input type=”text” id=”lname” name=”lastname” placeholder=”Your last name..”>
<label for=”country”>Country</label>
<select id=”country” name=”country”>
<option value=”australia”>Australia</option>
<option value=”canada”>Canada</option>
<option value=”usa”>USA</option>
</select>
<input type=”submit” value=”Submit”>
</form>
</div>
</body>
</html>