砌体的响应式双重叠加

Responsive Double Overlay for Masonry

我正在尝试让我的响应式 Masonry 在 WordPress 中使用双覆盖。目前,我已经设法使深色叠加层尺寸与缩略图完美匹配。我还添加了显示在叠加层顶部的文本,因此在缩略图上双重叠加。

问题是,当我调整 window 大小时或通过移动设备查看博客文章时,叠加悬停大小超过缩略图大小,而在某些缩略图上,叠加位置完全关闭。

如何确保双重叠加层(黑色透明悬停和文本)保持在同一位置并与缩略图一起正确缩放?

这是我的代码:

.title, .excerpt, .date {
  position: absolute;
  z-index: 1;
}

.title {
bottom: 150px;
}

.date {
bottom: 130px;
}

.excerpt {
bottom: 100px;
}

.overlay:after {
  content: '';
  position: absolute;
  width: 362px;
  height: 362px;
  top: 5px; 
  left: 1;
  background: rgba(0,0,0,0.6);
  opacity: 0;
  transition: all 0.5s;
  -webkit-transition: all 0.5s;
}

.overlay:hover:after {
  opacity:1;
}

更新:我也将 overlay 添加到我的媒体查询中,但它不会像我的缩略图那样使叠加层生效。

更新 2:Dantcho 的代码修复了使叠加层响应缩略图的问题。下一个问题是,因为覆盖设置为 100%,当我使用 padding: 10px; 时,它会使网格变大,但我不能变小。缩略图有填充,我想保持这种填充。

更新 3:不确定这是否是长期可行的修复方法,但无论哪种方式,它都有效。这将使叠加层保持响应,我调整了 topleftwidthheight 一点点以适应缩略图。

.overlay:after {
  content: '';
  position: absolute;
  width: 97.5%;
  height: 97.5%;
  top: 5px;
  left: 5px;
  background: rgba(0,0,0,0.6);
  opacity: 0;
  transition: all 0.5s;
  -webkit-transition: all 0.5s;
}

更新 4:我找到了一个更好的选择,这将防止在调整浏览器大小时叠加层稍微错位。

.overlay:after {
  content: '';
  position: absolute;
  display: block;
  height: calc(100% - 10px);
  width: calc(100% - 10px);
  top: 5px;
  left: 5px;
  background: rgba(0,0,0,0.6);
  opacity: 0;
  transition: all 0.5s;
  -webkit-transition: all 0.5s;
}

干杯!

改变这个:

.overlay:after {
  content: '';
  position: absolute;
  width: 362px;
  height: 362px;
  top: 5px; 
  left: 1;
  background: rgba(0,0,0,0.6);
  opacity: 0;
  transition: all 0.5s;
  -webkit-transition: all 0.5s;
}

对此:

.overlay:after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: rgba(0,0,0,0.6);
  opacity: 0;
  transition: all 0.5s;
  -webkit-transition: all 0.5s;
}

希望这能解决您的问题。如果没有,请随时询问!