我的名字叫特洛伊(Troy),我一直在尝试为HTML和CSS创建一个汉堡菜单。
我在YouTube上找到了一个教程,并且效果很好,直到我在其下面添加了<nav></nav>
。我将包括指向YouTube视频here的链接。
所以基本上,问题是我尝试在标题下添加一个<nav></nav>
,然后当我单击汉堡包菜单时,它破坏了整个事情,直到我再次关闭汉堡包菜单:视频中的评论说我应该在CSS中添加min-height: 70px;
。试过了,但是什么也没做。感谢正在阅读本文的读者,他们花时间尝试找到一种方法来帮助我<3
另外,这里有我的HTML代码:
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Home | Tingle</title>
<link rel="stylesheet" href="./css/style.css">
<link href="https://fonts.googleapis.com/css?family=Poppins:300,400" rel="stylesheet">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<div class="nav">
<h1>Tingle</h1>
<label for="toggle">☰</label>
<input type="checkbox" id="toggle">
<div class="menu">
<a href="#">Home</a>
<a href="#">Documentation</a>
<a href="#">Invite</a>
</div>
</div>
<div id="discord-header">
<h1>Join the Discord Support Server!</h1>
<p>If you need support, or send suggestions, or want to talk about Tingle, just join our discord server!</p>
<button type="button" name="button"><a href="#">Invite</a></button>
</div>
</body>
</html>
这里有CSS代码:
body{
font-family: 'Poppins', sans-serif;
width: 100%;
height: 100%;
margin: 0;
}
.nav{
background: #5fffcb;
border-bottom: 1px solid #EAEAEB;
text-align: right;
height: 70px;
line-height: 70px;
}
.nav h1{
font-size: 25px;
float: left;
line-height: 70px;
padding-left: 20px;
margin: 0 30px 0 0;
}
.menu{
margin: 0 30px 0 0;
}
.menu a{
clear: right;
font-weight: bold;
text-decoration: none;
color: #282828;
margin: 0 10px;
line-height: 70px;
}
label{
margin: 0 40px 0 0;
font-size: 26px;
line-height: 70px;
display: none;
width: 26px;
float: right;
}
#toggle{
display: none;
}
@media only screen and (max-width: 500px){
nav{
height: auto;
min-height: 70px;
line-height: 70px;
}
label{
font-weight: bold;
display: block;
cursor: pointer;
}
.menu{
text-align: center;
width: 100%;
display: none;
}
.menu a{
display: block;
border-bottom: 1px solid #EAEAEB;
margin: 0;
}
#toggle:checked + .menu{
display: block;
}
在这里您可以看到实际发生的情况: CSS Issue
-特洛伊
答案 0 :(得分:0)
好的,我想我已经找到了解决您问题的方法。最初,我怀疑与z-index有关,因为它看起来像在其他文本下方。但是,事实证明您有一些问题:
您的菜单在文档流中。它会将您的其余内容向下推。
您的菜单在展开时会遮盖住顶部栏,一旦展开便无法缩回。
您的菜单没有背景色,因此展开时会显示其下的所有内容。
在@media .menu CSS下,您需要具有以下代码:
.menu{
text-align: center;
width: 100%;
display: none;
position: fixed;
top: 72px;
z-index: 5;
background-color: #fff;
}
位置:已修复,将其从文档流中移出。顶部:72像素确保不覆盖顶部栏。 Z-index:5,background-color:#fff,使其显示在页面其余部分的顶部。现在看起来像这样:
请自己尝试一下,让我知道它是否可以解决您的问题或仍然需要帮助。无需跳到Bootstrap或任何复杂的框架-这是一个基本的CSS实现,您就在那儿,只缺少了几行代码。