0

このフィドルを作成しました。このフィドルは、divに対するdivのマージンと、divに対するテーブルのdivを表示します

驚いたことに、マージンはテーブルに対して2回適用されているように見えるため、後者のマージンは2倍になります。1回はテーブルのdivから、もう1回は下のdivからです。スパンの場合、これは発生しません。

この問題を修正する必要がありますが、「テーブルを使用しない」という解決策は無効です。これは、これらの状況が頻繁に発生する大きなフレームワークに適用されるためです。

基本的に、テーブルは物事を列に簡単に収めるために使用されます。

[編集]

インラインでスタイルを変更することもできます-正しい-要点は-これはフレームワークに使用されます。フレームワークがいくつかのコンテンツを含むdivを生成するとします。これをコンポーネントと呼びましょう。ページのどこにでも配置できるはずです。フレームワークは最後のマージンサイズを認識していません。friggn divとそのコンテンツをどこかに配置するだけで、最後のアイテムが何であれ、divに常に同じマージンを持たせたいだけです。

4

2 に答える 2

1

上下の余白は通常崩壊し、値が大きい方が勝ちます。ただし、これは DOM で同じレベルにある場合にのみ機能します。あなたの例では、テーブル内の div は、DOM 内で他の div と同じレベルではありません。したがって、マージンが積み重なります。

これを回避するには、div 要素に上マージンまたは下マージンのみを適用します。

于 2012-08-29T16:20:34.767 に答える
0

特定の div の CSS を個別に指定できます。background-color に指定したような CSS セレクターまたはインライン スタイルを使用します。上の div の下の境界線を 0 に、または下の div の上端の境界線を 0 に設定できます

于 2012-08-29T16:12:36.160 に答える