默认的iframe不会自适应高度,观感不好。一些视频外链等也不行,通过CSS可以使其自适应大小。
在分享bilibili视频的时候发现iframe不能被完美地展示,如下图中的第一个视频会不能自适应大小,观感并不好,我们想要实现第二个视频的效果。
刚开始,试图通过修改iframe标签的width和height样式为100%来实现,但是发现只有宽度可以自适应,高度并不可以,观感更为糟糕。
于是搜索了一些资料,发现有很多方法,如js获取子页面加载完成时的框架大小后赋给框架样式的高度样式,或者子页面和父页面的传值,但这些并不适用于视频嵌套这种情况。CSS控制父标签应该是最适宜这种情况的了。
例子
需要把<iframe>
嵌套进一个<div>
或者其他,代码如下:
1 | <div class="video-container"> |
1 | .video-container { |
如此只要在嵌套视频时在<iframe>
外面加上一层标签并使其class="video-container"
,即可达到上图第二个视频的效果。