Reputation:
I am trying to make my own responsive navbar, can someone explain why is this happening why is my nav disappearing. When i resized it to certain size it is gone, but what is puzzling me is that overflow hidden property because with it it works fine and i dont know why...can someone explain this to me Here is the code
.navbar {
background-color: #333;
overflow: hidden;
}
.navbar a {
display: block;
float: left;
font-size: 17px;
color: #FFFFFF;
text-decoration: none;
font-size: 16px;
padding: 15px;
}
.icon {
width: 30px;
height: 4px;
margin: 6px 0px;
background-color: #FFFFFF;
}
.navbar a.toggle {
display: none;
}
@media screen and (max-width: 500px) {
.navbar a {
display: none;
}
.navbar a.toggle {
float: right;
display: block;
padding: 5px;
}
}
<div class="navbar">
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Contact</a>
<a href="javascript:void(0)" class="toggle" onclick="myFunc()">
<div class="icon"></div>
<div class="icon"></div>
<div class="icon"></div>
</a>
</div>
Upvotes: 1
Views: 69
Reputation: 15786
Alternative using flexbox
.navbar {
background-color: #333;
display: flex;
}
.navbar a {
color: #FFFFFF;
text-decoration: none;
font-size: 16px;
padding: 15px;
}
.icon {
width: 30px;
height: 4px;
margin: 6px 0px;
background-color: #FFFFFF;
}
.navbar a.toggle {
display: none;
}
@media screen and (max-width: 500px) {
.navbar a {
display: none;
}
.navbar a.toggle {
margin-left: auto;
display: block;
padding: 5px;
}
}
<div class="navbar">
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Contact</a>
<a href="javascript:void(0)" class="toggle" onclick="myFunc()">
<div class="icon"></div>
<div class="icon"></div>
<div class="icon"></div>
</a>
</div>
Upvotes: 0
Reputation: 1243
You have not mentioned height adding height will solve your issue.
.navbar {
background-color: #333;
height: 50px;
}
.navbar a {
display: block;
float: left;
font-size: 17px;
color: #FFFFFF;
text-decoration: none;
font-size: 16px;
padding: 15px;
}
.icon {
width: 30px;
height: 4px;
margin: 6px 0px;
background-color: #FFFFFF;
}
.navbar a.toggle {
display: none;
}
@media screen and (max-width: 500px) {
.navbar a {
display: none;
}
.navbar a.toggle {
float: right;
display: block;
padding: 5px;
}
}
<div class="navbar">
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Contact</a>
<a href="javascript:void(0)" class="toggle" onclick="myFunc()">
<div class="icon"></div>
<div class="icon"></div>
<div class="icon"></div>
</a>
</div>
Upvotes: 1