Having issue with dropdown Navbar with CSS, it will overlap my button. If i change
<a asp-controller="Home" asp-action="Category" class="dropbtn">Category</a>
to
<button class="dropbtn">Category
<i class="fa fa-caret-down"></i>
</button>`
it will work. why is that so? did i done something wrong somewhere?
you can use display flex. it will solve your problem, fiddle
body {margin:0;font-family:Arial} .topnav { display: flex; background-color: #333; } .topnav:after { content: ''; display: table; clear: both; } .topnav a { display: block; color: #f2f2f2; text-align: center; padding: 14px 16px; text-decoration: none; font-size: 17px; } .active { background-color: #4CAF50; color: white; } .topnav .icon { display: none; } .dropdown .dropbtn { font-size: 17px; border: none; outline: none; color: white; padding: 14px 16px; background-color: inherit; font-family: inherit; margin: 0; } .dropdown-content { display: none; position: absolute; background-color: #f9f9f9; min-width: 160px; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); z-index: 1; } .dropdown-content a { color: black; padding: 12px 16px; text-decoration: none; display: block; text-align: left; } .topnav a:hover, .dropdown:hover .dropbtn { background-color: #555; color: white; } .dropdown-content a:hover { background-color: #ddd; color: black; } .dropdown:hover .dropdown-content { display: block; }
<div class="topnav" id="myTopnav"> <a asp-controller="Home" asp-action="index">Home</a> <div class="dropdown"> <a asp-controller="Home" asp-action="Category" class="dropbtn">Category</a> <i class="fa fa-caret-down"></i> <div class="dropdown-content"> <a asp-controller="Home" asp-action="AddCategory">Add Category</a> </div> </div> <div class="dropdown"> <a asp-controller="Home" asp-action="LeaveType" class="dropbtn">Leave Type</a> <i class="fa fa-caret-down"></i> <div class="dropdown-content"> <a asp-controller="Home" asp-action="AddLeave">Add Leave Type</a> </div> </div> <a href="javascript:void(0);" style="font-size:15px; width:75%;" class="icon" onclick="myFunction()">☰</a> </div>
I have edited your css file, use this and you issue will be resolved.
body {margin:0;font-family:Arial}
.topnav {
background-color: #333;
float:left;
width:100%;
position:relative;
}
.topnav a {
float: left;
display: block;
color: #f2f2f2;
text-align: center;
padding: 14px 16px;
text-decoration: none;
font-size: 17px;
}
.active {
background-color: #4CAF50;
color: white;
}
.topnav .icon {
display: none;
}
.dropdown {
float: left;
}
.dropdown .dropbtn {
font-size: 17px;
border: none;
outline: none;
color: white;
padding: 14px 16px;
background-color: inherit;
font-family: inherit;
margin: 0;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
top:48px;
}
.dropdown-content a {
float: none;
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
text-align: left;
}
.topnav a:hover, .dropdown:hover .dropbtn {
background-color: #555;
color: white;
}
.dropdown-content a:hover {
background-color: #ddd;
color: black;
}
.dropdown:hover .dropdown-content {
display: block;
}
@media screen and (max-width: 600px) {
.topnav a:not(:first-child), .dropdown .dropbtn {
display: none;
}
.topnav a.icon {
float: right;
display: block;
}
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.