我有两个 div 内容,但事实证明,当我滚动时,一个 div 覆盖在另一个 div 之上,我该如何阻止这种情况发生在我身上?
* {
margin: 0;
box-sizing: border-box;
}
body {
font-family: sans-serif;
padding: 90px 20px 0;
background: #f2f2f2;
}
.header {
background-color: #f7f6f3;
height: 80px;
position: fixed;
width: 100%;
top: 0;
left: 0;
}
.nav {
display: flex;
justify-content: space-between;
max-width: 992px;
margin: 0 auto;
position: fixed;
z-index: 0;
top: 0;
width: 100%;
max-width: 1000px;
}
.nav-link {
color: black;
text-decoration: none;
}
.logo {
top: 0;
left: 0;
font-weight: bold;
line-height: 100px;
padding: 10px 0;
}
.responsive {
max-width: 100%;
width: 90px;
}
.nav-menu {
display: flex;
margin-right: 40px;
list-style: none;
}
.nav-menu-item {
font-size: 18px;
margin: 0 10px;
line-height: 80px;
text-transform: uppercase;
width: max-content;
}
.nav-menu-link {
padding: 8px 12px;
border-radius: 3px;
}
.nav-menu-link:hover,
.nav-menu-link_active {
background-color: #fff200;
transition: 0.5s;
}
.nav-toggle {
color: white;
background: none;
border: none;
font-size: 30px;
padding: 0 20px;
line-height: 60px;
cursor: pointer;
display: none;
}
/* scc del slider */
.contenedor {
width: 100%;
overflow: hidden;
position: relative;
}
.slider-contenedor {
width: 100%;
display: flex;
position: relative
}
.contenido-slider {
position: relative;
top: 60px;
width: 100%;
height: 600px;
display: flex;
justify-content: space-around;
align-items: center;
flex-shrink: 0;
}
.contenido-slider:nth-child(1) {
background: #332863;
}
.contenido-slider:nth-child(3) {
background: #611a68;
}
.contenido-slider>img {
width: 400px;
}
@media (max-width: 768px) {
body {
padding-top: 70px;
}
.header {
height: 60px;
}
.logo {
font-size: 25px;
padding: 0 20px;
line-height: 60px;
}
.nav-menu {
flex-direction: column;
align-items: center;
margin: 0;
background-color: #2c3e50;
position: fixed;
top: 60px;
width: 100%;
padding: 20px 0;
height: calc(100% - 60px);
overflow-y: auto;
left: 100%;
transition: left 0.3s;
}
.nav-menu-item {
line-height: 70px;
}
.nav-menu-link:hover,
.nav-menu-link_active {
background: none;
color: #83c5f7;
}
.nav-toggle {
display: block;
}
.nav-menu_visible {
left: 0;
}
.contenedor_oculta {
display: none;
}
.nav-toggle:focus:not(:focus-visible) {
outline: none;
}
}
@media screen and (max-width:900px) {
.contenido-slider>img {
width: 250px;
}
.contenido-slider>div {
width: 40%;
}
.contenido-slider h2 {
font-size: 23px;
}
}
@media screen and (max-width:600px) {
.contenido-slider {
flex-direction: column-reverse;
}
.contenido-slider>div {
width: 80%;
}
}
<link href="https://fonts.googleapis.com/css?family=Roboto:300&display=swap" rel="stylesheet">
<script src="https://kit.fontawesome.com/7e5b2d153f.js" crossorigin="anonymous"></script>
<header class="header">
<nav class="nav">
<a href="#" class="logo nav-link">
<img src="Img/logo.png" alt="logo" class="responsive">
</a>
<button class="nav-toggle" aria-label="Abrir menú">
<i class="fas fa-bars"></i>
</button>
<ul class="nav-menu">
<li class="nav-menu-item">
<a href="#" class="nav-menu-link nav-link">Blog</a>
</li>
<li class="nav-menu-item">
<a href="#" class="nav-menu-link nav-link">Videos</a>
</li>
<li class="nav-menu-item">
<a href="#" class="nav-menu-link nav-link">Sobre mí</a>
</li>
<li class="nav-menu-item">
<a href="#" class="nav-menu-link nav-link nav-menu-link_active">Contacto</a
>
</li>
</ul>
</nav>
</header>
<main>
<h1>Responsive Navbar</h1>
<div class="contenedor">
<div class="slider-contenedor">
<section class="contenido-slider">
<img src="Img/banner.jpeg" alt="">
</section>
<section class="contenido-slider">
<img src="Img/taller1.jpeg" alt="">
</section>
<section class="contenido-slider">
<div>
<img src="Img/animacion3.svg" alt="">
</section>
<section class="contenido-slider">
<img src="Img/banner.jpeg" alt="">
</section>
</div>
</div>
<div class="contenedor">
<div class="slider-contenedor">
<section class="contenido-slider">
<img src="Img/banner.jpeg" alt="">
</section>
<section class="contenido-slider">
<img src="Img/taller1.jpeg" alt="">
</section>
<section class="contenido-slider">
<div>
<img src="Img/animacion3.svg" alt="">
</section>
<section class="contenido-slider">
<img src="Img/banner.jpeg" alt="">
</section>
</div>
</div>
</main>
这是你加载页面时的结果,显然加载正常
当我向下滚动时,它会关闭导航菜单
答案 0 :(得分:0)
编辑(根据 Ghunter 的评论):
将标题元素的 z-index 更改为大于 0 的任何值即可。
旧答案:
这是一个堆叠问题。你有 .navbar 作为 z-index: 0; .contendor div 是相对的,没有定义 z-index。所以逻辑是堆叠在 .navbar 的顶部 将 .navbar 设置为 z-index: 99;以确保其始终处于领先地位。*