一般我们用这样的方式嵌入youtube视频:

<iframe width="560" height="315" src="//www.youtube.com/embed/yCOY82UdFrw" 
frameborder="0" allowfullscreen></iframe>

如果我们能将宽度的数值设置为 100% 会更加方便,但由于高度仍需要指定,因此并不可行,我们需要像这样把它包在一个container里:请注意类名,并且移除宽和高度属性。

<div class="container">
<iframe src="//www.youtube.com/embed/yCOY82UdFrw" 
frameborder="0" allowfullscreen class="video"></iframe>
</div>

使用以下css样式:

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

 

原理: container元素赋值了一个0值的高度和一个百分比的 bottom padding, 这个百分比的bottom padding 百分比是和容器宽度的百分比

,这就得到了一个固定的宽比率。但是为了让这个iframe显示在这个0高度的container里面,你需要设置container定位为relative,并将div里面的iframe的定位设置成absolute.

另一种方式是使用媒体查询。
https://www.h3xed.com/web-development/how-to-make-a-responsive-100-width-youtube-iframe-embed

 

- EOF -