CSS 响应式 div 防止切断并隐藏溢出

CSS responsive div prevent cutting off with overflow hidden

我将此布局用于保持宽高比的响应式 div。它运行良好,但它需要 overflow: hidden,以明确它是 :after 中定义的 padding-top: 56.25%。如果包装器上没有溢出,则下一个元素(在本例中为 href link)被阻止。

我的问题是:有没有一种方法可以在不使用包装器 overflow: hidden 的情况下实现相同的结果?我需要一些元素在不被切断的情况下在包装外可见。

如果您在小 window 中看不到问题,请在整页中打开代码段。

#wrapper {
  position: relative;
  max-width: 1000px;
  min-width: 350px;
  max-height: 383px;
  border: 1px solid;
  /*overflow:hidden;*/
}

#wrapper:after {
  padding-top: 56.25%;
  display: block;
  content: '';
  background: rgba(0,0,0,.25);
}
<div id="wrapper"></div>
<a href="#">click me</a>

您可以添加一个内部 div 并像以前一样使用伪元素使其响应,然后在其上应用 overflow: hidden;。然后添加另一个兄弟 div 并设置您希望应用的样式,在示例中为 div #test,如您所见,它将在包装器外部可见。

#wrapper {
  position: relative;
  max-width: 1000px;
  border: 1px solid;
}

#inner {
  min-width: 350px;
  max-height: 383px;
  overflow: hidden;
}

#inner:after {
  background: rgba(0,0,0,.25);
  padding-top: 56.25%;
  display: block;
  content: '';
}

#test {
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translateY(100%);
  width: 100px;
  height: 50px;
  background: aqua;
}
<div id="wrapper">
  <div id="inner"></div>
  <div id="test"></div>
</div>
<a href="#">click me</a>