响应导航栏中的汉堡图标无法正常运行

时间:2016-07-20 05:56:38

标签: javascript html css responsive-design navigationbar

当我的导航栏以平板电脑/手机尺寸查看并点击汉堡图标时,它会跳到左侧,导航标签下方会出现一个奇怪的“间隙”。你能帮我解决一下吗?这是我第一次在这里提问并编写HTML ...提前感谢

/* NAVIGATION MENU */
.icon img {
	margin-top: 2.5px;
}

.navbar {
	padding-left: 0%;
	background-color: #454242;
	text-align:center;
}

ul.menu {
	height: 43px;
	background-color: #454242;
	list-style-type: none;
	margin: 0;
	padding: 0;
	overflow: hidden;
	transiton: 1.0s;
	font-family: "Gill Sans", Helvetica, Arial, sans-serif;
	display:inline-block;
	text-align: center;
}

ul.menu li {
	float: left;
	display: inline;
}

ul.menu li a {
	display: inline-block;
	color: #FFFFFF;
	text-align: center;
	padding: 10px 20px;
	text-decoration: none;
	transition: 0.5s;
	font-size: 17px;
	height: 23px;
}

ul.menu li a:hover {
	background-color: #FFFFFF;
	color: black;
}

ul.menu li a:active {
	background-color: #FFFFFF;
	color: black;
}

ul.menu li.icon {
	display:none;
}

@media screen and (max-width: 680px) {	
ul.menu li:not(:first-child){
	display:none;
	margin: auto;
	float: left;
}
	
ul.menu li.icon {
	display: inline;
	float: left;
	position: absolute;
	left: 0px;
	text-align: left;
}
}

@media screen and (max-width: 680px) {
.navbar {
	padding-left: 0%;
}
	
ul.menu.responsive li.icon {
	
	float: left;
	position: absolute;
	left: -10px;
	text-align: left;
	color: black;
}
	
ul.menu.responsive{
	position: relative;
	height: 258px;
	transition: 1.0s;
	width: 100%
}
	
ul.menu.responsive li{
	float: none;
	display: inline;
}	
ul.menu.responsive li a{
	display:block;
	text-align: center;
}	
}
<!--NAVIGATION BAR-->
<div class="navigation col-12">
<div class="navbar">
<ul class="menu">
<li class="icon">
<a href="javascript:void(0);"onClick="dropdownMenu()">&#9776;</a></li>
<li> <a href="test.html">Home</a></li>
<li> <a href="test.html">Eat</a></li>
<li> <a href="test.html">Shop</a></li>
<li> <a href="test.html">Discover</a></li>
<li> <a href="test.html">Edge Club</a></li>
<li> <a href="test.html">Contact</a></li>
</ul>
</div>
</div>

<script>
function dropdownMenu() {
	document.getElementsByClassName("menu")[0].classList.toggle("responsive");
}
</script>

1 个答案:

答案 0 :(得分:1)

ul.menu.responsive li.icon {

    float: left;
    position: absolute;
    /* left: -10px; */ REMOVE
    text-align: left;
    color: black;
    }