この例を参照してください:http://jsfiddle.net/vrgT3/5/分の高さ/最小幅は、一部のブラウザで
私は、コンテンツがボックスをオーバーフローときにスクロールバーが表示されoverflow: auto;
で250x250px
親のdivをしました。私は親が見えるときにそれを明確にするために青い背景を設定しました。
親の中には、赤い背景を持つ子divが表示されます。 8px
の黒い枠線とbox-sizing: border-box;
を持つので、枠のサイズの計算にはパディングと枠線が含まれています。子divはmin-height: 100%
とmin-width: 100%
に設定されています。
期待される結果:子divは親と同じサイズでなければならないので、青は表示されず、スクロールバーも表示されません。計算されたボックスサイズ(コンテンツ+パディング+ボーダー)は250x250px
である必要があります。 8px
の黒い枠線がこれに内在し、234x234px
の赤い領域が残ります。
作品:
- みどり4.1 Ubuntuの
- クロム16 Ubuntuの
- オペラ11.61 Ubuntuの
問題と:
IE 8 WinXP:水平および垂直のスクロールバーが表示されます。内容は
249x266px
であり、8px
のボーダーがあり、計算されたボックスサイズは265x282px
です。Firefox 3.6 WinXP:垂直スクロールバーが表示されます。内容は
217x250px
で、計算されたボックスのサイズは233x266px
です。Firefox 10 Ubuntu:垂直スクロールバーが表示され、内容は
221x250px
、計算されたボックスサイズは237x266px
です。
私はcaniuse.comをチェックして、問題になっている、少なくともブラウザが必要min-height
、min-width
、およびbox-sizing
をサポートすることが表示されます。何がありますか?
解決策: Maratが提案したように、これは確かにブラウザのバグです。私はJavaScriptを利用してpadding/marginsを追加し、offsetWidth/Heightの差を修正する回避策を解決しました。ここをクリックしてください:http://jsfiddle.net/vrgT3/8/
IE8には、最小/最大幅/高さとオーバーフローに関する長年の問題がありました。ボックスサイズは関係ありません。他には... – BoltClock
迅速な対応に感謝します!私は 'overflow'プロパティを削除しようとしました(' overflow:visible'に落ちています)、私はまだIEとFFの両方で不正確なサイズを取得しています。'box-sizing 'の目的は' min- *:100% 'に大きな枠を含めることです。これは、Midori、Opera、Chromiumで期待どおりに動作します。 – kueblc
http://css-tricks.com/box-sizing/(「サポート」セクションの下にある「Min/Max」セクション) –