一般我们用这样的方式嵌入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