Pure CSS Grids with Multi-Column Form

Last Updated : 23 May, 2026

Pure CSS is a lightweight and responsive CSS framework developed by Yahoo. It helps in creating structured and responsive forms using classes like <form> and Pure Grid.

  • Supports different form layouts such as Aligned Form and Stacked Form
  • Uses the <form> element with the pure-form class to create styled forms
  • Pure Grid is used to create responsive multi-column form layouts

Syntax:

<form class="pure-form pure-form-stacked">
<fieldset>
<legend>Legend</legend>

<div class="pure-g">

<div class="pure-u-1 pure-u-md-1-2">
<label for="name">Name</label>
<input type="text" id="name"
class="pure-u-1" />
</div>

</div>
</fieldset>
</form>

Example 1: This code example demonstrates how we can make a multi-form column that is responsive with the help of Pure Responsive Grids.

HTML
<!doctype html>
<html lang="en">
<head>
    <link rel="stylesheet" href=
"https://unpkg.com/purecss@2.1.0/build/pure-min.css">
    <link rel="stylesheet" href=
"https://unpkg.com/purecss@2.1.0/build/base-min.css">
    <link rel="stylesheet" href=
"https://unpkg.com/purecss@2.1.0/build/grids-min.css">
    <link rel="stylesheet" href=
"https://unpkg.com/purecss@2.1.0/build/grids-responsive-min.css">
    <link rel="stylesheet" href=
"https://pure-css.github.io/
    
    <script src=
"https://pure-css.github.io/
     </script>
</head>
<body>
    <div id="main">
        <div class="header">
            <h1 style="color:green;"> GeeksforGeeks    </h1>
            <h2>Pure CSS Grids with Multi-Column Form</h2>
        </div>

        <form class="pure-form pure-form-stacked" 
              style="margin:3rem;">
            <fieldset>
                <legend>Submit User Details</legend>
                <div class="pure-g">
                    <div class="pure-u-1 pure-u-md-1-3">
                        <label for="multi-first-name">
                              First Name
                          </label>
                        <input type="text" id="multi-first-name"
                               class="pure-u-23-24" />
                    </div>
                    <div class="pure-u-1 pure-u-md-1-3">
                        <label for="multi-last-name">
                              Last Name
                          </label>
                        <input type="text" id="multi-last-name" 
                               class="pure-u-23-24" />
                    </div>
                    <div class="pure-u-1 pure-u-md-1-3">
                        <label for="multi-email">E-Mail</label>
                        <input type="email" id="multi-email" 
                               class="pure-u-23-24" required="" />
                    </div>
                    <div class="pure-u-1 pure-u-md-1-3">
                        <label for="multi-city">City</label>
                        <input type="text" id="multi-city" 
                               class="pure-u-23-24" />
                    </div>
                    <div class="pure-u-1 pure-u-md-1-3">
                        <label for="multi-state">Domain</label>
                        <select id="multi-state" class="pure-input-1-2">
                            <option>DSA</option>
                            <option>Web Technologies</option>
                            <option>Competitive Coding</option>
                        </select>
                    </div>
                </div>
                <label for="multi-terms" class="pure-checkbox">
                    <input type="checkbox" id="multi-terms" /> 
                        I've read the terms and conditions
                </label>
                <button type="submit" class=
                        "pure-button pure-button-primary">
                        Submit
                </button>
            </fieldset>
        </form>        
    </div>
</body>
</html>

Output:

 

Example 2: The code example demonstrates how we can add all types of form inputs like the grouped ones or the rounded ones to the multi-column layout. 

HTML
<!doctype html>
<html lang="en">
<head>
    <link rel="stylesheet" href=
"https://unpkg.com/purecss@2.1.0/build/pure-min.css">
    <link rel="stylesheet" href=
"https://unpkg.com/purecss@2.1.0/build/grids-min.css">
    <link rel="stylesheet" href=
"https://unpkg.com/purecss@2.1.0/build/grids-responsive-min.css">
    <link rel="stylesheet" href=
"https://pure-css.github.io/
    <script src="https://pure-css.github.io/</script>
</head>
<body>
    <div id="main">
        <div class="header">
            <h1 style="color: green;">GeeksforGeeks</h1>
            <h2>Pure CSS Grids with Multi-Column Form</h2>
        </div>

        <form class="pure-form pure-form-stacked" style="margin:3rem;">
            <fieldset>
                <legend>Submit User Details</legend>
                <div class="pure-g">
                    <div class="pure-u-1 pure-u-md-1-3 pure-u-lg-1-2">
                        <label for="multi-first-name">First Name</label>
                        <input type="text" id="multi-first-name" 
                               class="pure-u-23-24 pure-input-rounded" />
                    </div>
                    <div class="pure-u-1 pure-u-md-1-3 pure-u-lg-1-2">
                        <label for="multi-last-name">Last Name</label>
                        <input type="text" id="multi-last-name" 
                               class="pure-u-23-24 pure-input-rounded" />
                    </div>
                    <div class="pure-u-1 pure-u-md-1-3 pure-u-lg-1-2">
                        <label for="multi-email">E-Mail</label>
                        <input type="email" id="multi-email" 
                               class="pure-u-23-24 pure-input-rounded" required="" />
                    </div>
                    <div class="pure-u-1 pure-u-md-1-3 pure-u-lg-1-2">
                        <label for="multi-city">City</label>
                        <input type="text" id="multi-city" class=
                                           "pure-u-23-24 pure-input-rounded" />
                    </div>
                    <div class="pure-u-1 pure-u-md-1-3 pure-u-lg-1-2">
                        <label for="multi-state">Domain</label>
                        <select id="multi-state" class="pure-input-1-2">
                            <option>DSA</option>
                            <option>Web Technologies</option>
                            <option>Competitive Coding</option>
                        </select>
                    </div>
                    <fieldset class="pure-group pure-u-1 pure-u-md-1-3 pure-u-lg-4-5">
                        <input type="text" class="pure-input-1-2 pure-input-rounded" 
                               placeholder="Language Preference" />
                        <input type="text" class="pure-input-1-2 pure-input-rounded" 
                               placeholder="Experience" />
                        <input type="email" class="pure-input-1-2 pure-input-rounded" 
                               placeholder="Score" />
                    </fieldset>
                </div>
                <label for="multi-terms" class="pure-checkbox">
                    <input type="checkbox" id="multi-terms" /> 
                           I've read the terms and conditions
                </label>
                <button type="submit" class="pure-button pure-button-primary">
                        Submit
                </button>
            </fieldset>
        </form>        
    </div>
</body>
</html>

Output:

Comment