我有汉堡菜单,当我单击它时,它会将内容下推。 我想防止出现这种情况,因此我将其添加到活动的类位置:绝对,但是菜单隐藏在其他元素下。 我试图使用z-index,但不适用于此。 我在做什么不好?
这是一个Codepen https://codepen.io/anon/pen/dEbgvJ
body,
html {
margin: 0;
padding: 0;
font-family: Arial,
Helvetica,
sans-serif;
}
ul {
padding-left: 0;
}
* {
box-sizing: border-box;
}
h1 {
margin: 0;
}
.page-header {
background-color: #87509c;
width: 100%;
height: 80vh;
}
.navbar {
font-size: 18px;
background: #87509c;
padding-bottom: 10px;
}
.main-nav {
list-style-type: none;
display: none;
}
.nav-links {
text-decoration: none;
color: #ffffff;
text-transform: uppercase;
font-family: Arial;
font-size: 16px;
}
.main-nav li {
text-align: center;
margin: 15px auto;
}
.navbar-toggle {
position: absolute;
top: 22px;
right: 20px;
cursor: pointer;
color: rgba(255, 255, 255, 0.8);
font-size: 24px;
}
.active {
display: block;
position: absolute;
left: 0;
right: 0;
z-index: 100;
}
.logo {
margin-left: 10px;
margin-top: 10px;
}
@media screen and (min-width: 768px) {
.page-header {
display: flex;
justify-content: space-around;
background-color: #87509c;
width: 100%;
height: 600px;
}
.navbar {
display: flex;
justify-content: space-between;
padding-bottom: 0;
height: 70px;
align-items: center;
width: 1000px;
}
.main-nav {
display: flex;
margin-right: 30px;
flex-direction: row;
justify-content: flex-end;
}
.main-nav li {
margin: 0;
}
.nav-links {
margin-left: 40px;
}
.navbar-toggle {
display: none;
}
.nav-links:hover {
color: rgba(255, 255, 255, 1);
}
}
.content-container {
display: flex;
flex-direction: column;
justify-content: space-around;
height: 300px;
}
.header-text {
font-size: 16px;
text-align: center;
color: #fff;
font-weight: 600;
width: 200px;
display: block;
margin: 0 auto;
}
.button-work {
font-size: 15px;
font-weight: 300;
border-radius: 3px;
color: #fff;
text-transform: uppercase;
margin: 0 auto;
display: block;
border: none;
height: 35px;
width: 150px;
background: #EB7D4B;
}
答案 0 :(得分:1)
菜单没有隐藏,您没有背景色,因此它是透明的。文字为白色,因此很难看到。因此,只需在.man_nav类中添加背景色,就可以了。
答案 1 :(得分:1)
只需为移动设备的打开菜单添加背景色
@media screen and (max-width: 768px) {
.main-nav.active {
background: red;
}
}
答案 2 :(得分:0)
在li类中,您添加了CSS的 float right 属性:
.main-nav li {
float:right;
text-align: center;
margin: 15px auto;
}
它可以解决您的问题。