使用顶部 div 和底部 div 背景创建在中间 div 连接它们的渐变

Use top div and bottom div backgrounds to create a gradient that connects them in middle div

我有三个 div。顶部的背景图像设置为 center/cover。最下面的是全白的。我想在中间 div 应用渐变背景,从顶部延续图像并过渡到底部的白色。有问题的图像在底部有不同的灰色细微差别,所以如果没有它,它会在顶部和中间 div 之间创建一个清晰的界限,我想删除它。有没有办法使用 JS 或 CSS?

HTML代码如下:

<div class="topdiv">
TITLE
</div>
<div class="middlediv">
REVIEWS
</div>
<div class="bottomdiv">
REST OF PAGE
</div>

CSS如下:

.topdiv {
        height:100%!important;
background:url('some image that has different nuances of grey at the bottom.png') scroll no-repeat center/cover!important;
}

.middlediv {
background: #ffffff;
background: -moz-linear-gradient(continue topdiv image to white);
background: -webkit-linear-gradient(continue topdiv image to white);
background: linear-gradient(continue topdiv image to white);
    height:250px;
}

.bottomdiv {
background-color:#ffffff;
}

谢谢!

图像上的渐变可以近似为:

.top,
.bottom{
  height:200px;
  width:300px;
}
.top {
  background:
    linear-gradient(#0000 70%,#fff),
    url(https://picsum.photos/id/1/300/200) center/ cover;
}
.bottom {
  background:#fff;
}


body {
  background:yellow;
}
<div class="top"></div>
<div class="bottom"></div>

或者蒙版和一些重叠

.top,
.bottom{
  height:200px;
  width:300px;
}
.top {
  background:url(https://picsum.photos/id/1/300/200) center/ cover;
  -webkit-mask:linear-gradient(0deg,#0000 ,#000 50px);
}
.bottom {
  background:#fff;
  margin-top:-50px; /* same as the value inside mask */
}


body {
  background:yellow;
}
<div class="top"></div>
<div class="bottom"></div>