2017-02-01 4 views
5

私はCodePen上のフルスクリーンビデオの良い例を発見した: https://codepen.io/dudleystorey/pen/knqyKmin-width:100%とは何ですか? width:auto実際には?

私は次のスタイルを理解することの困難を持っている:

video { 
    min-width: 100%; 
    min-height: 100%; 
    width: auto; 
    height: auto; 
} 

我々だけで最小幅と最小 - を指定することはできませんなぜ高さ?なぜ、幅と高さをautoに設定する必要がありますか?

答えて

1

Chromeでテストしましたが、width: auto;height: auto;のプロパティを削除しても正常に動作します。

Cargo-Cult Programmingの例が表示されている可能性があります(プログラマが必要と思ったために存在するコードですが、実際には必要ありません)。あるいは、従来のブラウザのバグの可能性があります。準拠の高度に<video>すべてのサポートCSSレイアウトをサポートするすべてのブラウザとして奇妙である、

+0

ありがとうございました。あなたが「

0

これは良い例ではありません。min-width:100%はわかりません。

はこの考えてみましょう:div要素のページまたはコンテナの幅が600PX未満であれば、この場合

div{ 
    width:100%; 
    min-width:600px; 
} 

を、400ピクセルを言います。その場合、divの幅を600ピクセルにデフォルト設定し、100%を超えるスクロールバーを追加します。

+0

お返事ありがとうございます。この場合、 'min-width:100%; min-height:100% 'はビデオのアスペクト比を破ります。 [全体のサイトを埋めるためにHTML5のビデオと縦横比をブレークする](http://stackoverflow.com/questions/4000818/scale-html5-video-and-break-aspect-ratio-to-fill-whole-site)を参照してください。詳細はこちら –

-1

幅:オート

自動div要素またはpであるようなブロックレベル要素の初期の幅。この は、それが内の利用可能なすべての水平スペースを占めるように拡張します210を含む。水平なパディングまたは境界線がある場合、それらの幅は要素の合計幅に加算されません( )。一方

幅100%

あなたが幅を指定した場合、100%を、要素の総 幅は、その包含ブロックに加えて任意の水平マージンの100%、 パディングとボーダーになります(ボックスサイズ:border-boxを使用していない限り、 の場合は、余白のみが100%に追加され、合計幅 の計算方法が変更されます)。これはあなたが望むものかもしれませんが、そうでない可能性が最も高いでしょう。

最小幅は:

CSSにおける最小幅プロパティは 指定された要素の最小幅を設定するために使用されています。 min-widthプロパティは、宣言で幅の前後に続くかどうかにかかわらず、常に幅の幅をオーバーライドします( )。

A way to visualize

、さらに参考と明確化

https://i.stack.imgur.com/9yBHP.png

https://css-tricks.com/almanac/properties/m/min-width/

http://www.456bereastreet.com/archive/201112/the_difference_between_widthauto_and_width100/

+0

私は私の答えのために負の1を得た理由を知ってもよい...答えを改善するための提案 –

5
01については、以下のいくつかのリンク min-width:100%は、要素が少なくともそのコンテナと同じ幅であることを確認します。 width: autoは、要素が元のサイズを保持できるようにします。

2つの組み合わせは、「要素がコンテナの幅よりも小さい場合を除いて、要素が必要なだけスペースを占めるようにする」と読むことができます。だから、基本的にコードが言っていることは、「私はオーバーフローしても気にしないで、ページにいっぱいにする」ということです。

これは、widthの初期値であるため、要素に適用される他のCSSスタイルをオーバーライドしない限り、width:autoを追加する理由はありません。

このコード例では、min-widthで十分です。

+0

詳細な説明のためにありがとう –

関連する問題