javascript - 响应式导航栏中的汉堡包图标无法正常工作

标签 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>

最佳答案

ul.menu.responsive li.icon {

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

关于javascript - 响应式导航栏中的汉堡包图标无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38473315/

相关文章:

javascript - 如何使用 redux-saga-test-plan 测试选择器功能

javascript - typescript 类型错误: Cannot read property 'collection' of undefined

javascript - FFMPEG,使用图像选择区域插件模糊视频区域

html - 为什么 `transform` 会中断 `position: fixed` ?

javascript - 加入和着色 TR

javascript - 如何让下拉菜单出现在对话框的顶部?

jquery - 如何在 jQuery 中获取用户输入并在其中使用?

html - 固定高度的全宽图像

javascript - CSS 溢出属性/Div 鼠标悬停问题 - IE 和 Chrome

html - div 内的 float div 具有奇怪的间距