質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Q&A

解決済

2回答

265閲覧

youtube,googlemapのレスポンシブ表示の方法について

tanakashouzoux

総合スコア52

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

0グッド

0クリップ

投稿2018/06/24 05:33

youtubeの動画やgoogle mapをレスポンシブ表示するには下記CSSを書くと良いとあるのですが、いくつか質問があります

①htmlでiframeにwidthとheightを指定しているのにcssでも指定して良いのか?良い場合、どちらが優先されるのか?

②cssで.iframe-wrapperにheight:0;を指定しているのに、実際に表示すると高さが出るのはなぜか?

③横縦比を16:9にする為にcssで.iframe-wrapperにpadding-top: 56.25%;を指定しているそうなのですが、この指定でなぜ横100%、高さ56.25%となるのでしょうか?
padding-top: 56.25%;を指定したらコンテンツエリアの上に56.25%の余白が出来るだけじゃないのでしょうか?

初心者なので的外れな質問かもしれませんがよろしくお願いいたします。

html

1<div class="iframe-wrapper"> 2 <iframe width="640" height="360" src="//www.youtube.com/embed/6Qk5Fc1Vdqk?rel=0" frameborder="0" allowfullscreen=""></iframe> 3</div>

css

1.iframe-wrapper{ 2 position: relative; 3 height: 0; 4 overflow: hidden; 5 padding-top: 56.25%; 6} 7iframe{ 8 position: absolute; 9 top: 0; 10 left: 0; 11 width: 100%; 12 height: 100%; 13} 14

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

「kei344」さんの回答どおりです。

少し補足すると以下の感じです。却って分かりにくい場合はスミマセン。
(^^;)


①についてはCSSが優先されます。「iframe」だけではなく、他の要素でも「width」と「height」の優先度は低いので、削除してもそのままでも良いです。

参考:参考先の記事は「img」の場合ですが、他の要素でも当てはまる場合が多いです。
width属性は優先度が低い


②③は関連していて

padding-top: 56.25%;を指定したらコンテンツエリアの上に56.25%の余白が出来るだけじゃないのでしょうか?

まさに、これを利用しています。

本来のコンテンツに該当する部分は高さが「0」です。しかし、そのコンテンツの上に「padding-top」で横幅に対する56.25%の高さ(領域)を確保しておき、position: absolute;で「iframe」を配置しているコードとなります。

レスポンシブにするバリエーションは、いくつかありますので検索して、理解しやすい使いやすいコードを試してみてください。


ちなみに「56.25%」は、16(横幅):9(高さ)の比率から、「(9÷16)×100=56.25(%)」となり、「4:3」の比率では75%となります。

投稿2018/06/25 21:41

yoshinavi

総合スコア3523

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tanakashouzoux

2018/06/25 21:48

わざわざコメントありがとうございます! そういうテクニックだったんですね!!!
yoshinavi

2018/06/25 21:57

公開してあるコード等を単純にコピペして使っても問題無ければ良いですが、内容を理解しておくと、修正が必要な場合に、その理由と応用が効くようになります。 解決されて何よりです。 (^^)
guest

0

ベストアンサー

  1. CSS
  2. padding-topが指定してあるので。
  3. paddingの%指定は横幅を基準とするため、16:9で計算してみてください

コンテンツエリアの上に56.25%の余白が出来るだけじゃないのでしょうか?

その余白の上にiframeを配置するテクニックです。

【CSSのpositionを総まとめ!absoluteやfixedの使い方は?】
https://saruwakakun.com/html-css/basic/relative-absolute-fixed

【CSSのposition:「absolute」と「relative」とは | UX MILK】
http://uxmilk.jp/63409

投稿2018/06/24 05:48

kei344

総合スコア69398

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tanakashouzoux

2018/06/25 21:48

わざわざご回答いただきありがとうございますm(__)m 理解出来ました!本当に助かりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問