2017-12-21 17 views
2

アスペクト比に応じて埋め込みのYouTubeビデオを背景レイヤーとしてサイズ変更/拡大縮小する以下のコードが見つかりました。全幅(固定高さ)応答youtube埋め込みバナー

https://codepen.io/dudleystorey/pen/PZyMrd

下の行は、アスペクト比に基づいて映像の変化を取り扱うように見える

@media (min-aspect-ratio: 16/9) { 
    .video-foreground { height: 300%; top: -100%; } 
} 
@media (max-aspect-ratio: 16/9) { 
    .video-foreground { width: 300%; left: -100%; } 
} 

サイズ変更/私は背景としてビデオセットを持つようにしたい場合は効果をスケーリングすることは完璧に動作しますしかし、私はビデオをdiv内で応答するようにしたい(バックグラウンドではない)

私は何を意味するのかを知るには、以下のフィドルを見てください。

https://jsfiddle.net/mhgsre0z/2/

私の問題はcodepenに行われているように私は、アスペクト比に基づいて(ズーム?)規模にビデオを得ることができないということです。したがって、より広い幅

すべてのヘルプは大歓迎であるの黒いバーに

おかげで、ビデオの両側にある垂直バーを結果!

EDIT:

ここでは、私はジャンプがどのように抜本的な削減しようとする高さ/幅に対して異なる値をテストしたブレークポイントのわずかなジャンプがあり、私が思いついたのソリューションです。

https://jsfiddle.net/84jyv3uo/

+0

私は多分それが役立つだろう、しばらく前にこの種の質問に答えました。 https://stackoverflow.com/questions/47841764/how-do-i-make-sure-an-iframes-aspect-ratio-is-responsive/47843256#47843256この方法では、アスペクト比16:9でない場合は、コンテナに合わせて余分なパディングをハードコーディングすることなく、それに合わせて調整することができます。 –

+0

@Highdefあなたの返事を感謝しますが、これは私が探しているものではありません、私はビデオを常に全幅が固定高さでしようとしています。幅が広がると、ビデオを「ズームイン」する(または再スケーリングすることができますか?正しい用語がわかりません)。私はここのスクリーンショットでそれを説明しようとしました:https://i.imgur.com/HEVZ1vB.jpg ひどい説明を間違ってください – nonForMe

答えて

0

これはあなたの意思です。ビデオはSOのスニペットで再生されないので、JSFiddleのリンクもあります。

.content { 
 
    max-width: 100% height: auto; 
 
    text-align: center; 
 
} 
 

 
.header-unit { 
 
    height: auto; 
 
    position: relative; 
 
    padding: 0; 
 
} 
 

 
#video-container { 
 
    position: relative; 
 
    padding-bottom: 56.25%; 
 
    /* 16:9 */ 
 
    padding-top: 25px; 
 
    height: 0; 
 
    border-bottom: solid 2px blue; 
 
    border-top: solid 2px blue; 
 
} 
 

 
#video-container iframe { 
 
    position: absolute; 
 
    top: 0; 
 
    left: 0; 
 
    width: 100%; 
 
    height: 100%; 
 
}
<div class="content"> 
 
    <h1> 
 
    Content above the video banner 
 
    </h1> 
 
    <p> 
 
    I would like to have content above and below an embedded youtube video that rescales/resizes responsively eliminating the black bars at certain aspect ratios by scaling 
 
    </p> 
 
</div> 
 

 
<div class="header-unit"> 
 
    <div id="video-container"> 
 
    <iframe class="fillWidth" src="https://www.youtube.com/embed/W0LHTWG-UmQ?controls=0&showinfo=0&rel=0&autoplay=1&loop=1" frameborder="0" allowfullscreen></iframe> 
 
    </div> 
 
</div> 
 

 
<div class="content"> 
 
    <h1> 
 
    Content below the video banner 
 
    </h1> 
 
    <p> 
 
    I would like to have content above and below an embedded youtube video that rescales/resizes responsively eliminating the black bars at certain aspect ratios by scaling 
 
    </p> 
 
</div>

+0

答えを気に入って、スケーリングはうまく機能しますが、これは私が意味するものではありません。 バナーの高さを最大にし、コンテナの高さを固定高さより大きくしたい。しかし、コンテナの内容は拡大し続けますが、ネイティブのアスペクト比がコンテナの高さを上回るとクリップされます。私が意味することを説明するためにイメージを追加します。 興味深いことに、この効果は、YouTube動画の再生が終了した後に表示される画像のための私の最初のフィドルで機能します。 – nonForMe

+0

私はこのスクリーンショットで少し良く説明しようとしました。幅が広い場合、ビデオはビデオの中心を維持しながら上下に分けて効果的に「ズームイン」する方法に注目してください。 https://i.imgur.com/HEVZ1vB.jpg – nonForMe

関連する問題