使用iframe整页宽度显示YouTube视频

use*_*003 21 html css youtube iframe

我使用iframe来自YouTube 的视频在我的网站上放置了一个视频,而iframe全宽(100%)视频在帧内非常小(高度).如何使其适合容器的宽度?

码:

<iframe width="100%" height="100%" src="https://www.youtube.com/embed/5m_ZUQTW13I" frameborder="0" allowfullscreen></iframe>
Run Code Online (Sandbox Code Playgroud)

见截图

在此输入图像描述

Web*_*olf 53

要使You Tube Video全宽并保持高度(并保持响应),您可以使用以下设置.

带视频的HTML

<div class="videoWrapper">
    <!-- Copy & Pasted from YouTube -->
    <iframe width="560" height="349" src="http://www.youtube.com/embed/n_dZNLr2cME?rel=0&hd=1" frameborder="0" allowfullscreen></iframe>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS

.videoWrapper {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    padding-top: 25px;
    height: 0;
}
.videoWrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
Run Code Online (Sandbox Code Playgroud)

  • 为什么 padding-top: 25px; ? (3认同)
  • 添加源:https://css-tricks.com/NetMag/FluidWidthVideo/Article-FluidWidthVideo.php (2认同)

wil*_*ill 14

问题是iframe和视频无法像图像一样缩放,如果您只是将高度保留为默认值,它会根据宽高比获得按比例正确的高度.

解决方案是找出视频的原始宽度/高度,并做一些数学计算,确定100%屏幕宽度的高度.假设它是1920x1080,你可以使用视口宽度(vw)做这样的事情.如果您不希望它真正填满屏幕,您可以将100vw降低到更适合的范围.

iframe{
 width: 100vw
 height: calc(100vw/1.77);
}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!使用`height:calc(100vw/1.77777778);`删除额外的黑线. (3认同)