我试图在图像上放置一个覆盖层,但该覆盖层延伸到顶部的菜单栏上,我不知道如何将其仅粘贴在图像上。
我尝试过调整图像、更改位置等不同的操作,但它一直在菜单栏上。当我调整顶部位置时,这是全屏的一个小修复,但一旦在移动设备上,它就无法隐藏菜单。当尺寸改变时,它也会在图像下方流动。
header {
border-bottom: 5px solid coral;
font-family: Arial;
}
header a {
display: inline-block;
text-decoration: none;
color: inherit;
}
.bg-image {
background-image: url('https://images.pexels.com/photos/1647120/pexels-photo-1647120.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1');
background-size: cover;
background-position: center;
background-color: blue;
background-repeat: no-repeat;
}
.vh-80 {
min-height: 80vh;
}
.banner-text {
color: white;
font-size: 3rem;
text-align: center;
font-family: Arial;
}
.bg-overlay>* {
position: relative;
}
.bg-overlay::before {
content: "";
position: absolute;
top: 0px;
bottom: 0px;
left: 0;
right: 0;
background: linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
<header class="grid-spaceBetween-middle ">
<div class="col-2 ">
<a href="/index.html" class="logo">
<p>Logo</p>
</a>
</div>
<nav class="col-10">
<a href="/#.html">About Us</a>
<a href="/#.html"></a>
<a href="/#.html">Business Travel</a>
<a href="/#.html">Be Inspired</a>
<a href="/#.html">Contact</a>
</nav>
</header>
<!-- Image banner -->
<section class="grid-spaceAround vh-80 bg-image bg-overlay">
<div class="col-12-middle banner-text">
<p>IT'S ALL <strong>GOOD</strong></p>
</div>
</section>
我尝试更改部分,尝试相对位置,但没有任何效果。
将
position: relative
放在 .bg-image
上,而不是放在叠加层中的每个元素上 .bg-overlay > *
header {
border-bottom: 5px solid coral;
font-family: Arial;
}
header a {
display: inline-block;
text-decoration: none;
color: inherit;
}
.bg-image {
background-image: url('https://images.pexels.com/photos/1647120/pexels-photo-1647120.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1');
background-size: cover;
background-position: center;
background-color: blue;
background-repeat: no-repeat;
position: relative;
}
.vh-80 {
min-height: 80vh;
}
.banner-text {
color: white;
font-size: 3rem;
text-align: center;
font-family: Arial;
}
.bg-overlay::before {
content: "";
position: absolute;
top: 0px;
bottom: 0px;
left: 0;
right: 0;
background: linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
<header class="grid-spaceBetween-middle ">
<div class="col-2 ">
<a href="/index.html" class="logo">
<p>Logo</p>
</a>
</div>
<nav class="col-10">
<a href="/#.html">About Us</a>
<a href="/#.html"></a>
<a href="/#.html">Business Travel</a>
<a href="/#.html">Be Inspired</a>
<a href="/#.html">Contact</a>
</nav>
</header>
<!-- Image banner -->
<section class="grid-spaceAround vh-80 bg-image bg-overlay">
<div class="col-12-middle banner-text">
<p>IT'S ALL <strong>GOOD</strong></p>
</div>
</section>