Skip to content

Instantly share code, notes, and snippets.

@ahmed-issa-mohd
Created April 24, 2020 14:44
Show Gist options
  • Save ahmed-issa-mohd/aef04611b5ce87cdcb6cea9d69ae6271 to your computer and use it in GitHub Desktop.
Save ahmed-issa-mohd/aef04611b5ce87cdcb6cea9d69ae6271 to your computer and use it in GitHub Desktop.
pure css flexbox responsive navbar
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<nav class="navbar">
<label class="navbar-toggle" id="js-navbar-toggle" for="chkToggle">
<i class="fa fa-bars"></i>
</label>
<a href="#" class="logo">logo</a>
<input type="checkbox" id="chkToggle"></input>
<ul class="main-nav" id="js-menu">
<li>
<a href="#" class="nav-links">Home</a>
</li>
<li>
<a href="#" class="nav-links">Products</a>
</li>
<li>
<a href="#" class="nav-links">About Us</a>
</li>
<li>
<a href="#" class="nav-links">Contact Us</a>
</li>
<li>
<a href="#" class="nav-links">Blog</a>
</li>
</ul>
</nav>
</body>
</html>
* {
box-sizing: border-box;
padding: 0;
margin: 0;
}
body {
font-family: Roboto, Helvetica, Arial, sans-serif;
}
.navbar {
font-size: 18px;
background-image: linear-gradient(260deg, #2376ae 0%, #c16ecf 100%);
border: 1px solid rgba(0, 0, 0, 0.2);
padding-bottom: 10px;
}
.main-nav {
list-style-type: none;
display: none;
}
.nav-links,
.logo {
text-decoration: none;
color: rgba(255, 255, 255, 0.7);
}
.main-nav li {
text-align: center;
margin: 15px auto;
}
.logo {
display: inline-block;
font-size: 22px;
margin-top: 10px;
margin-left: 20px;
}
.navbar-toggle {
position: absolute;
top: 10px;
right: 20px;
cursor: pointer;
color: rgba(255, 255, 255, 0.8);
font-size: 24px;
}
#chkToggle {
display: none;
}
#chkToggle:checked + ul.main-nav {
display: block;
}
@media screen and (min-width: 768px) {
.navbar {
display: flex;
justify-content: space-between;
padding-bottom: 0;
height: 70px;
align-items: center;
}
#chkToggle:checked + ul.main-nav {
display: flex;
}
.main-nav {
display: flex;
margin-right: 30px;
flex-direction: row;
justify-content: flex-end;
}
.main-nav li {
margin: 0;
}
.nav-links {
margin-left: 40px;
}
.logo {
margin-top: 0;
}
.navbar-toggle {
display: none;
}
.logo:hover,
.nav-links:hover {
color: rgba(255, 255, 255, 1);
}
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment