How to create a responsive inline form with CSS?

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


 Live Demo

<!DOCTYPE html>
<meta name="viewport" content="width=device-width, initial-scale=1" />
body {
   font-family: Arial, Helvetica, sans-serif;
* {
   box-sizing: border-box;
form {
   display: flex;
   flex-flow: row wrap;
   align-items: center;
form label {
   margin: 5px 10px 5px 0;
form input {
   margin: 5px 10px 5px 0;
   padding: 10px;
form button {
   padding: 10px 20px;
   font-size: 20px;
   background-color: rgb(39, 22, 141);
   border: 1px solid #ddd;
   color: white;
   cursor: pointer;
   font-weight: bolder;
   border-radius: 4px;
form button:hover {
   background-color: rgb(113, 65, 225);
@media (max-width: 800px) {
   form input {
      margin: 10px 0;
   form {
      flex-direction: column;
      align-items: stretch;
<h1>Responsive Inline Form Example</h1>
<label for="email">Email:</label>
<input type="email" id="email" placeholder="Enter email" name="email" />
<label for="pass">Password:</label>
<input type="password" id="pass" placeholder="Enter password" name="pass"/>
<button type="submit">Submit</button>


The above code will produce the following output −

On resizing the browser window the elements will reflow as follows −