How to create a responsive form with CSS?

CSSWeb DevelopmentFront End Technology

Following is the code to create a responsive form with CSS −

Example

 Live Demo

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style>
body {
   font-family: Arial;
   font-size: 17px;
   padding: 8px;
}
* {
   box-sizing: border-box;
}
.Fields {
   display: flex;
   flex-wrap: wrap;
   padding: 20px;
   justify-content: space-around;
}
.Fields div {
   margin-right: 10px;
}
label {
   margin: 15px;
}
.formContainer {
   margin: 10px;
   background-color: #efffc9;
   padding: 5px 20px 15px 20px;
   border: 1px solid rgb(191, 246, 250);
   border-radius: 3px;
}
input[type="text"] {
   display: inline-block;
   width: 100%;
   margin-bottom: 20px;
   padding: 12px;
   border: 1px solid #ccc;
   border-radius: 3px;
}
label {
   margin-left: 20px;
   display: block;
}
.icon-formContainer {
   margin-bottom: 20px;
   padding: 7px 0;
   font-size: 24px;
}
.checkout {
   background-color: #4caf50;
   color: white;
   padding: 12px;
   margin: 10px 0;
   border: none;
   width: 100%;
   border-radius: 3px;
   cursor: pointer;
   font-size: 17px;
}
.checkout:hover {
   background-color: #45a049;
}
a {
   color: black;
}
span.price {
   float: right;
   color: grey;
}
@media (max-width: 657px) {
   .Fields {
      flex-direction: column-reverse;
   }
}
</style>
</head>
<body>
<h1 style="text-align: center;">Responsive Form Example</h1>
<div class="Fields">
<div>
<div class="formContainer">
<form>
<div class="Fields">
<div>
<h3>Register</h3>
<label for="fname">Full Name</label>
<input type="text" id="fname" name="firstname" />
<label for="email"> Email</label>
<input type="text" id="email" name="email" />
<label for="adr"> Address</label>
<input type="text" id="adr" name="address" />
</div>
<div>
<h3>Account Details</h3>
<label for="uname">Username</label>
<input type="text" id="uname" name="cardname" />
<label for="pass">Password</label>
<input type="text" id="pass" name="cardnumber" />
<div class="Fields">
<div>
<label for="accountAge">Account Age</label>
<input type="text" id="accountAge" name="accountAge" />
</div>
<div>
<label for="cvv">Security Question</label>
<input type="text" id="cvv" name="cvv" />
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</body>
</html>

Output

The above code will produce the following output on larger screens −

On smaller screen size the content will resize as follows −

raja
Published on 08-Apr-2020 10:53:30
Advertisements