我对html和css还是个新手.我不知道如何修复与我的粘性导航栏重叠的网格.我使用以下方法创建了栅格:
<section id="projects">
<h2>PROJECTS</h2>
<div class="grid-container">
<div class="grid-item">
<p><b>Project 1</b></p>
<img src="image1.png" alt="image1" class="image1>
<div class="overlay">
<div class="projects-text">
Placeholder
<br><a class="repo-text" href="">Repo Link</a>
</div>
</div>
</div>
<div class="grid-item">
<p><b>Project 2</b></p>
<img src="image2.jpg" alt="image2" class="image2">
<div class="overlay">
<div class="projects-text">
Placeholder
<br><a class="repo-text" href="">Repo Link</a>
</div>
</div>
</div>
<div class="grid-item">
<p><b>Project 3</b></p>
<img src="image3.jpg" alt="image3" class="image3">
<div class="overlay">
<div class="projects-text">
Placeholder
<br><a class="repo-text" href="">Repo Link</a>
</div>
</div>
</div>
</div>
</section>
并使用此css:
.grid-container {
display: grid;
grid-template-columns: auto auto auto;
padding: 10px;
grid-column-gap: 20px;
grid-row-gap: 20px;
}
.grid-item {
background-color: white;
border: 5px solid lavender;
border-radius: 15px;
padding: 20px;
font-size: 30px;
text-align: center;
justify-content: center;
height: 350px;
position: relative;
}
.overlay {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
height: 100%;
width: 100%;
opacity: 0;
transition: .5s ease;
background-color: lavender;
}
.grid-item:hover .overlay{
opacity: 1;
}
这是我的导航栏:
<nav>
<ul>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
</ul>
</nav>
nav {
overflow: hidden;
width: 100%;
}
nav ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
top: 0;
width: 100%;
position: fixed;
}
nav li {
font-family: "";
float: left;
}
nav a {
display: block;
text-align: center;
padding: 14px 16px;
text-decoration: none;
position: relative;
}
nav a::after {
content: "";
display: block;
position: absolute;
left: 0;
bottom: 0;
width: 0;
height: 5px;
transition: width 0.3s ease;
}
nav a:hover::after {
width: 100%;
}
在注释掉代码行之后,我意识到问题出在position:relative
in.grid-Item上,但是如果我删除它或更改属性,覆盖效果就不再起作用了.我如何解决这个问题,或者有没有更好的方法来实现这个问题?