はHTMLです:http://jsfiddle.net/jC8DL/1/テーブルとディビジョンのボックスサイジングが異なるのはなぜですか?ここ
<div style='width:300px;border:1px solid green'>
<div>Outer div</div>
<div style='width:100%;border:1px solid red;margin:10px;'>
Inner div, 10px margin.
</div>
<div style='width:100%;border:1px solid red;padding:10px;'>
Inner div, 10px padding.
</div>
<div style='width:100%;border:1px solid red;padding:10px;box-sizing:border-box'>
Same, with box-sizing: border-box
</div>
<table style='width:100%;border:1px solid red;padding:10px;'>
<tr><td>Inner table, 10px padding</td></tr>
</table>
</div>
そして、それは私のChromeで次のようになります。
私は最後のものまですべてを理解だと思います。私のChromeのインスペクタはテーブルの計算結果がcontent-box
のbox-sizing
であることを示していますので、2番目のdivのように振る舞い、オーバーフローして見苦しいと思っています。なぜ違うのですか?これはHTML/CSS仕様のどこかに文書化されていますか?
これは、「div」がブロック要素であるためです。内部テーブルに 'display:block;'を追加してみてください。 divと同じものが表示されます。 –
@Bram Vanroy:1)それはちょうど[質問をする](https://en.wikipedia.org/wiki/Begging_the_question)です。 2)この質問の全体のポイントは、テーブルがブロックとは異なる動作をする理由を尋ねることです。テーブルをブロックに変更すると何が達成されますか? – BoltClock
@BoltClockあなたは私のコメントを誤って解釈しました(したがって、*コメント*です)。なぜこの違いが起こるのかを私は簡単に説明していました。私はその質問に答えようとしなかった。私はとにかく答えとして投稿しませんでした。 –