2019年06月02日

WordPressでYouTube以外の動画埋め込み

 WordPressで…、正確にはWordPressにLuxeritasを適用した状態で、動画のリンクを埋め込んでもデフォルトだとアダプティブになりません。
 対応をしてみました。

dougaumekomi01.png

 パソコンで表示したもののスクリーンショットです。
 上がBilibiliのデフォルトの<iframe>の記述に依るものですが、小さすぎて実用的ではありません。
 強制的にサイズを指定すると横幅は指定通りになるのですが、なぜか高さの指定は効果を発揮しません。(もしも高さも指定通りになっても、その場合はスマホなどの小さなディスプレーに表示したときに上下に無駄な空白を作ってしまう可能性があります。)
 下が、今回の対応をした埋め込み映像です。


/* YouTube / Google Map
-------------------------------------------*/

.adjust-box {
position: relative;
width: 100%;
height: auto;
background: #EEE;
/* border: #F00 thin solid;*/
}


.box-1 {
position: relative;
}

.box-70:before {
content: "";
display: block;
padding-top: 70%;
/* border: #0F0 thin solid;*/
}

.box-bilibili:before {
content: "";
display: block;
padding-top: 70%;
/* border: #0F0 thin solid;*/
}

.box-dailymotion:before {
content: "";
display: block;
padding-top: 56.25%;
}


.box-1 iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.box-bilibili iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}


.inner {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
/* border: #00F thin solid;*/
}



Bilibiliniについては、実際の動画埋め込みは以下の記述です。
<div class="adjust-box box-bilibili">
<iframe
src="//player.bilibili.com/player.html?aid=24401569&cid=40960096&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true" fullscreen="true">
</iframe>
</div>


 Dailymotionの動画も同様にすればできそうなのですが、できません。
 もちろん、Dailymotionのページで得られる埋め込み用のタグでもダメです。

 白紙のページ、つまり<html></html>だけしかないようなファイルに書き込む場合にはレスポンシブな表示をしてくれるのですが、WordPressで管理されたページに貼り付けると、高さをブラウザに知らせてくれないようで、高さを100%指定すると最小と思われるサイズになってしまいます。pixelで指定すればそのとおりの高さになりますが、それではメディア(あるいはディスプレーサイズ)に応じたレスポンシブ表示とは言えません。max-heightの指定なども試しましたが、所詮、Dailymotionが高さをブラウザに伝えないので無視されてしまうようです。

 丸一日、試行錯誤をしましたが、今回は諦めることにしました。高さをパソコン用表示の最大値363pxとして、スマホでは上下に黒帯ができてしまうのもやむなしとしました。
<div class="adjust-box box-dailymotion">
<div class="inner">
<iframe
src="https://www.dailymotion.com/embed/video/x6ua4ui" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="" style="height:363px; max-height:100%;">
</iframe>
</div>
</div>


パソコンでの表示

Daily-Motion01.png
(デフォルト(上)だと左右に余白ができて小さくなってしまうが、改善版では左右の幅一杯に表示される。)



スマホ(s7-edge)での表示

Daily-Motion02.png
(改善版とは言え、上下に帯ができてしまう、暫定版)



posted by kewpie at 13:24| Comment(0) | TrackBack(0) | パソコン
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/186081309
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック
コメントの投稿について
○お名前とコメント欄の記入は必須です。
○メールアドレスは任意です。記入されても公開はされません。管理人のみに知らされます。
○スパム防止のため、
・ホームページアドレス欄への記入はできません。
・コメント欄にURLは記入できません。
・スパムと思われる語を記入できません。
 これらをしようとすると、最終的に投稿完了できません。
○投稿完了後に、管理人の判断でスパムと判断した投稿は削除させていただきます。