html - 响应式水平 div 高度与嵌入的 youtube 不匹配

标签 html css youtube

我在两个水平 div 保持相同高度时遇到了一些问题。 如果两者都包含图像,那很好,但是当我尝试将 YouTube 视频嵌入其中一个 div 时,随着视口(viewport)减小,高度开始不匹配。

使用的代码是这样的:

<div class="IndexBanners">
<div class="bannerimages effect first">
<iframe class="embed-responsive-item" frameborder="0" src="https://www.youtube.com/embed/GfaiXgY114U" height="99%" width="100%">
</iframe>
</div>

<div class="bannerimages effect">
<a href="http://placehold.it"><img src="http://placehold.it/795x436"></a>
</div>
</div>

我已经设置了一个 fiddle ,这样你就可以看到这个问题。 https://jsfiddle.net/grvbc42o/1/

有什么建议吗?

最佳答案

默认情况下,图像垂直对齐 baseline 并且会在其父元素的底部留出一点空间。如果您为图像设置 vertical-align 并将视频的高度更改为 100%,它们将正确对齐。

.IndexBanners {
  display: flex;
  margin-top: 20px;
}

.bannerimages {
  flex: 1 0 0;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

@media (max-width:600px) {
  .IndexBanners {
    display: block;
  }
  .first {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
  }
  .first iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
<div class="IndexBanners">
  <div class="bannerimages effect first">
    <iframe class="embed-responsive-item" frameborder="0" src="https://www.youtube.com/embed/GfaiXgY114U" height="100%" width="100%"></iframe>
    <!--a href="http://placehold.it"><img src="http://placehold.it/795x436"></a-->
  </div>
  <div class="bannerimages effect">
    <a href="http://placehold.it"><img src="http://placehold.it/795x436"></a>
  </div>
</div>

关于html - 响应式水平 div 高度与嵌入的 youtube 不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44204747/

相关文章:

javascript - 找不到 navigator.getBattery

javascript - 在 ul li 上滑动切换

javascript - 用 J.S 制作一个简单回答的问题形式

css - 何时停止关心浏览器

javascript - 需要在 javascript 中查询 youtube 视频列表 -- v3 API 不起作用

javascript - Chrome 非事件标签不执行 setInterval

html - 两个 div 没有正确 float

css - 使用 Ember.js 更新 CSS 属性

css - 如何 Over ride youtube 外部样式?

css - Angular Material 13 - 如何更改 mat-form-field 边框的颜色