多くの方々がブログを書く際に、1 つの頭痛の種に直面することがあると思います。ある記事で外部リンクのビデオをiframe
で導入したいのですが、サイズが常に問題になります。幅は 100% に固定できますが、高さは実際の高さで表現したい場合、例えば100px
、200px
などです。
しかし、問題が発生します。異なるページ幅では、ビデオの高さが一致するため、非常に面倒な問題が発生します。
以下の 2 つの画像をご覧ください。
PC 版
モバイル版
明らかに、PC 版では正常に表示されるビデオが、モバイル版では高さがずれて表示され、見た目が悪くなります。
この問題を解決するために、メディアクエリを使用することができますが、明らかに手間がかかり、完璧ではありません。
実際には非常に簡単で、たった 10 行のコードで完璧に実現できます。
-
jq をインポートします(通常、ウェブサイトにはデフォルトでこのファイルがあります)。
-
以下の JavaScript コードを追加します。最適な場所は、ウェブサイトの最下部、
</body>
の前です。
$('iframe').wrap('<p class="iframe"></p>')
- CSS ファイルの最下部に以下を追加します。
.iframe{
position: relative;
padding-bottom: 56.25%;
height: 0;
overflow: hidden;
}
.iframe iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
これで、iframe ビデオを含むウェブページを表示する際に、幅がどのように変化しても、高さがビデオに自動調整されます。
例えば、このウェブページの効果を確認できます:https://imhan.cn/posts/20210507.html