2017-07-18 14 views
2

これで高さがブラウザウィンドウの100%になるようにビデオを配置したいので、ビデオの高さは1080px(スクロールバー付き)ではなくブラウザウィンドウの高さに対する高さです。ここ は、(それが動作します)私の現在のスタイリングです:どのようにCSSの高さをブラウザウィンドウのサイズに合わせるのですか?

video { 
    margin: 0; 
    position: absolute; 
    top: 50%; 
    left: 50%; 
    transform: translate(-50%, -50%); 
    height: 100%; 
} 

私はそれが次のようになりたいのですが:パディングなしスクロールバーを--Meaningない

。私は、ビューポートの高さのCSSプロパティを試してみましたが、それはスクロールバーを引き起こします。前述のコードは、私が探している結果を得ていますが、このような単純なことを行うのは非常に非効率的な方法です。他のブラウザでも同じ方法を表示するかどうかはわかりません。ここにはlive ...
JavaScriptの代替品はありますか?またはより良いまだ純粋なCSS?

+0

あなたはSASSとアスペクト比を定義することができます。 – Timothy

+0

Rick Astleyは使用する最良の例ではありません。また、なぜ4:3ビデオを使用していますか? – Timothy

+0

私は、写真に示されているように、側面に黒の境界線を付けたいが、上にはない。 – Henry7720

答えて

1

Alohci私は彼とScott MarcusTimothyから他の回答からの助けを借りて、スクロールバーを削除するためにvertical-align: top;を使用する必要があることを説明しました。受け取ったすべての回答は役に立ちましたが、hereと表示された最終回答に寄与しました。
だから、私の以前 CSS:

body { 
    background-color: #000000; 
} 

video { 
    margin: 0; 
    position: absolute; 
    top: 50%; 
    left: 50%; 
    transform: translate(-50%, -50%); 
    height: 100%; 
} 

そして、私の新しい CSS:

body { 
    background-color: #000000; 
    margin: 0; 
    text-align: center; 
} 

video { 
    vertical-align: middle; 
    height: 100vh; 
} 
2

ドキュメントの通常のフローにおける要素の高さの割合は、祖先要素の高さが確定的に設定されている場合にのみ機能します。

しかし、そのすべてをスキップするには、ビューポートの高さを100%に設定します。

height:100vh; 
+0

私は "video {text-align:center; height:100vh;}"をテストしましたが、それでもスクロールバーが発生しました。 – Henry7720

+0

@ Henry7720 - text-alignは、ビデオエレメントではなく、包含するブロックエレメント(body)上にある必要があります。 – Alohci

+0

@ Henry7720また、ボックスモデルのデフォルトサイズ設定では、設定時にパディング、ボーダー、マージンが考慮されないことに注意してください要素の「高さ」または「幅」。 –

2

は、あなたが100%を使用し、真の100%の高さと幅を取得することができますボディとHTMLタグをリセットします。

html, body { 
 
width: 100%; 
 
height: 100%; 
 
margin: 0; 
 
padding: 0; 
 
    
 

 
      } 
 
#fullscreen-video{ 
 
    width:100%; 
 
height:100%; 
 
    background-color:green; 
 
    overflow:hidden; 
 
}
<div id="fullscreen-video"> 
 
<iframe id="video" width="100%" height="100%" src="https://www.youtube.com/embed/A3PDXmYoF5U" frameborder="0" allowfullscreen></iframe> 
 
</div>

+0

'html、body'に' width:100% 'を設定するのはそれがデフォルト値であり、' fullscreen-video'が祖先のレイヤーを多く持っていれば、それらの要素のすべてが 'height'パーセンテージが使用されている場合。 –

関連する問題