How to Create a Responsive Login Form in Navbar with CSS
Login forms exist apparently on all websites. Creating a login form is very simple in programming with the help of CSS.
This tutorial will show you how to create a responsive login form in the navbar with pure HTML and CSS.
Create HTML
- Create a <div> element with a class name "nav".
- To create menus, include <a> tags in the <div>.
- Add another <div> with a class name "login-container" and place a <form> element within it.
- Use two <input> tags and a <button> tag within the form.
<div class="nav">
<a class="active" href="#home">Home</a>
<a href="#about">About</a>
<a href="#contact">Tutorials</a>
<div class="login-container">
<form action="/form/submit" method="POST">
<input type="text" placeholder="E-mail" name="e-mail">
<input type="text" placeholder="Password" name="psw">
<button type="submit">Login</button>
</form>
</div>
</div>
Add CSS
- Style navbar menus by setting the color, padding and font-size.
- Center the texts with the text-align property.
- Make the elements float to left with the float property and make them block-level elements with the display property.
- Use the :active and :hover pseudo-classes of the menus and add the background-color and color properties.
- Style the button with padding and margin properties.
- Set the background-color, color and font-size. Define the cursor type.
- Set the color of the button hover with the background-color property.
.nav a {
float: left;
display: block;
color: #ffffff;
text-align: center;
padding: 14px 16px;
text-decoration: none;
font-size: 18px;
}
.nav a:hover {
background-color: #eeeeee;
color: #000000;
}
.nav a.active {
background-color: #0e002b;
color: #ffffff;
}
.nav .login-container button {
float: right;
padding: 6px 10px;
margin-top: 8px;
margin-right: 16px;
background-color: #1c87c9;
color: white;
font-size: 17px;
border: none;
cursor: pointer;
}
.nav .login-container button:hover {
background-color: #0e002b;
}
Here’s the full example of a responsive login form in navbar with HTML and CSS.
Example of creating a responsive login form in the navbar:
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<style>
* {
box-sizing: border-box;
}
body {
margin: 0;
}
.nav {
overflow: hidden;
background-color: #939596;
}
.nav a {
float: left;
display: block;
color: #ffffff;
text-align: center;
padding: 14px 16px;
text-decoration: none;
font-size: 18px;
}
.nav a:hover {
background-color: #eeeeee;
color: #000000;
}
.nav a.active {
background-color: #0e002b;
color: #ffffff;
}
.nav .login-container {
float: right;
}
.nav input[type=text],
.nav input[type=password] {
padding: 6px;
margin-top: 8px;
font-size: 17px;
border: none;
width: 120px;
}
.nav .login-container button {
float: right;
padding: 6px 10px;
margin-top: 8px;
margin-right: 16px;
background-color: #1c87c9;
color: white;
font-size: 17px;
border: none;
cursor: pointer;
}
.nav .login-container button:hover {
background-color: #0e002b;
}
@media screen and (max-width: 600px) {
.nav .login-container {
float: none;
}
.nav a,
.topnav input[type=text],
.nav .login-container button {
float: none;
display: block;
text-align: left;
width: 100%;
margin: 0;
padding: 14px;
}
.nav input[type=text] {
border: 1px solid #ccc;
}
}
</style>
</head>
<body>
<div class="nav">
<a class="active" href="#home">Home</a>
<a href="#about">About</a>
<a href="#contact">Tutorials</a>
<div class="login-container">
<form action="/form/submit" method="POST">
<input type="text" placeholder="E-mail" name="e-mail">
<input type="password" placeholder="Password" name="psw">
<button type="submit">Login</button>
</form>
</div>
</div>
</body>
</html>