次のソリューションを使用して、動画投稿タイプのレスポンシブを介して Tumblr に YouTube 動画を埋め込むようにしています。
.video-wrapper {
position: relative;
padding-bottom: 56,25%;
overflow: hidden;
width: 100% !important;
height: 0 !important;
}
.video-wrapper iframe {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
}
この JS スニペットとともに
// get all video wrappers
var videoWrappers = document.getElementsByClassName('video-wrapper');
// loop over each of them
[].forEach.call( videoWrappers, function (el, i) {
// cache width and height values of the iframe
var width = el.getElementsByTagName('iframe')[0].width,
height = el.getElementsByTagName('iframe')[0].height;
// apply the padding to the video wrapper
el.style.paddingBottom = height / width * 100 + '%';
});
投稿タイプがビデオの場合、これは正常に機能しますが、ビデオが標準のテキスト投稿に埋め込まれている場合、ビデオはレスポンシブではなくなります (実際の動作については、 blog.paulyb.meを参照してください)。
これを修正するためにコードを適応させる方法を見つけようとしていますが、何か提案はありますか?