CSS - Youtube 嵌入视频的 100% 宽度

CSS - 100% width of Youtube embed video

HTML:

<div class="video">
  <iframe src="https://www.youtube.com/embed/bRhZUF47p2E?version=3&amp;rel=0&amp;controls=0&amp;showinfo=0&amp;autoplay=1&amp;mute=1&amp;loop=1" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</div>

CSS:

.video {
  width: 100%;
  height: 200px;
  border: 1px solid red;
  overflow: hidden;
  position: relative;
}
iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

JSFIDDLE: http://jsfiddle.net/pj2utq4v/

问题: 如何强制 iframe 为父 div 宽度的 100%。由于父 div 的高度只有 200px,因此 iframe 视频会被裁剪,这对我来说也可以。

您想使用 iframe 有什么原因吗?我会尝试使用 HTML5 视频标签。这是一个示例:https://www.w3schools.com/html/html5_video.asp 然后将您的视频宽度设置为 100%,如下所示:

<video width="100%" controls>
  <source src="mov_bbb.mp4" type="video/mp4">
  <source src="mov_bbb.ogg" type="video/ogg">
  Your browser does not support HTML5 video.
</video>

您可以稍微改变一下 CSS 类:

.video {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
}

iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

JSFIDDLE: http://jsfiddle.net/pj2utq4v/1

又添加了一个 div 溢出隐藏和固定高度并且有效。

<div style="height: 200px; overflow: hidden">
  <div class="video">
    <iframe src="https://www.youtube.com/embed/bRhZUF47p2E?version=3&amp;rel=0&amp;controls=0&amp;showinfo=0&amp;autoplay=1&amp;mute=1&amp;loop=1" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
  </div>
</div>
<style>
.video {
  width: 100%;
  height: 200px;
  border: 1px solid red;
  overflow: hidden;
  position: relative;
}
iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
</style>

http://jsfiddle.net/pj2utq4v/