How TO - Sign Up Form
Learn how to create a responsive sign up form with CSS.
Click on the button to open the sign up form:
How To Create a Sign Up Form
Step 1) Add HTML:
Use a <form> element to process the input. You can learn more about this in our PHP tutorial. Then add inputs (with a matching label) for each field:
Example
<form action="/action_page.php">
<div class="container">
<label><b>Email</b></label>
<input type="text"
placeholder="Enter Email" name="email" required>
<label><b>Password</b></label>
<input type="password"
placeholder="Enter Password" name="psw" required>
<label><b>Repeat Password</b></label>
<input
type="password" placeholder="Repeat Password" name="psw-repeat" required>
<input type="checkbox" checked="checked"> Remember me
<p>By creating an account you agree to our <a href="#">Terms &
Privacy</a>.</p>
<div class="clearfix">
<button type="button" class="cancelbtn">Cancel</button>
<button type="submit" class="signupbtn">Sign Up</button>
</div>
</div>
</form>
Step 2) Add CSS:
Example
/* Full-width input fields */
input[type=text], input[type=password] {
width: 100%;
padding: 12px 20px;
margin: 8px 0;
display: inline-block;
border: 1px solid #ccc;
box-sizing: border-box;
}
/* Set a style for all buttons */
button {
background-color: #4CAF50;
color: white;
padding: 14px 20px;
margin: 8px 0;
border: none;
cursor: pointer;
width: 100%;
}
/* Extra styles for the
cancel button */
.cancelbtn {
padding: 14px 20px;
background-color: #f44336;
}
/* Float cancel and signup buttons and add an equal width
*/
.cancelbtn,.signupbtn {
float: left;
width: 50%;
}
/*
Add padding to container elements */
.container {
padding: 16px;
}
/* Clear floats */
.clearfix::after {
content:
"";
clear: both;
display: table;
}
/* Change styles for cancel button and signup
button on extra small screens */
@media screen and (max-width: 300px) {
.cancelbtn, .signupbtn {
width:
100%;
}
}
Try it Yourself »
How To Create a Modal Sign Up Form
Step 1) Add HTML:
Use a <form> element to process the input. You can learn more about this in our PHP tutorial. Then add inputs (with a matching label) for each field:
Example
<!-- Button to open the modal -->
<button onclick="document.getElementById('id01').style.display='block'">Sign
Up</button>
<!-- The Modal (contains the Sign Up form) -->
<div
id="id01" class="modal">
<span onclick="document.getElementById('id01').style.display='none'"
class="close" title="Close Modal">×</span>
<form
class="modal-content animate" action="/action_page.php">
<div class="container">
<label><b>Email</b></label>
<input
type="text" placeholder="Enter Email" name="email" required>
<label><b>Password</b></label>
<input
type="password" placeholder="Enter Password" name="psw" required>
<label><b>Repeat Password</b></label>
<input
type="password" placeholder="Repeat Password" name="psw-repeat" required>
<input type="checkbox" checked="checked"> Remember me
<p>By creating an account you agree to our <a href="#">Terms &
Privacy</a>.</p>
<div class="clearfix">
<button type="button" onclick="document.getElementById('id01').style.display='none'"
class="cancelbtn">Cancel</button>
<button type="submit" class="signupbtn">Sign Up</button>
</div>
</div>
</form>
</div>
Step 2) Add CSS:
Example
/* Full-width input fields */
input[type=text], input[type=password] {
width: 100%;
padding: 12px 20px;
margin: 8px 0;
display: inline-block;
border: 1px solid #ccc;
box-sizing: border-box;
}
/* Set a style for all buttons */
button {
background-color: #4CAF50;
color: white;
padding: 14px 20px;
margin: 8px 0;
border: none;
cursor: pointer;
width: 100%;
}
/* Extra styles for the
cancel button */
.cancelbtn {
padding: 14px 20px;
background-color: #f44336;
}
/* Float cancel and signup buttons and add an equal width
*/
.cancelbtn,.signupbtn {
float: left;
width: 50%;
}
/* Add padding to container elements */
.container {
padding: 16px;
}
/* The
Modal (background) */
.modal {
display: none; /*
Hidden by default */
position: fixed; /* Stay in place
*/
z-index: 1; /* Sit on top */
left: 0;
top: 0;
width: 100%; /*
Full width */
height: 100%; /* Full height */
overflow: auto; /* Enable scroll if needed */
background-color: rgb(0,0,0); /* Fallback color */
background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
padding-top: 60px;
}
/* Modal Content/Box */
.modal-content
{
background-color: #fefefe;
margin: 5% auto 15% auto; /* 5% from the top, 15% from the bottom and centered
*/
border: 1px solid #888;
width:
80%; /* Could be more or less, depending on screen size */
}
/* The
Close Button (x) */
.close {
position: absolute;
right: 35px;
top: 15px;
color:
#000;
font-size: 40px;
font-weight: bold;
}
.close:hover,
.close:focus {
color: red;
cursor:
pointer;
}
/* Clear floats
*/
.clearfix::after {
content: "";
clear: both;
display: table;
}
/* Change styles for cancel button and signup button on extra small
screens */
@media screen and (max-width: 300px) {
.cancelbtn,
.signupbtn {
width: 100%;
}
}
Tip: You can also use the following javascript to close the modal by clicking outside of the modal content (and not just by using the "x" or "cancel" button to close it):
Example
<script>
// Get the modal
var modal = document.getElementById('id01');
// When the user clicks anywhere outside of the modal, close it
window.onclick = function(event) {
if (event.target ==
modal) {
modal.style.display =
"none";
}
}
</script>
Try it Yourself »