1

この「フィドル」の私のコードは、垂直方向のマージンが互いに崩壊している隣接する要素があることを示しています。cssの垂直マージンの性質上、2つのうち最大のものが選択されることを理解しています。私の場合はpタグです。

私が問題を抱えているのは、1pxの境界線または1pxのパディングを使用してマージンを壊そうとしていることです。position:absoluteまたはfloatメソッドなどの他の回避策で機能することを確認しました。15pxのスペースを確保するために、1pxの境界線またはパディングを使用しても正しく機能しない理由がわかりません。

4

3 に答える 3

2

マージンの崩壊を防ぐためのいくつかのテクニックがあります。あなたはそれらのうちの2つについて言いました:絶対位置とフロート。display: inline-blockさらに、pタグに使用できます。このガイドでは、ネストされた要素に対してのみ境界線とパディングを使用するソリューションを見つけました。そしてもちろん、マージンの代わりに本当に大きな境界線を使用することができます:)

于 2012-11-13T22:58:32.070 に答える
0

pまたはdivのいずれかに境界線または背景を使用することを検討していますか?そうでない場合は、一方または両方のスタイルでパディングを使用してください。余白のようにパディングが崩れることはありません。

p {
    padding-bottom: 10px;
}
div {
    padding: 1px;
    margin-top: 5px;
}​

境界線または背景を含める場合、境界線はパディングの外側にあり、背景にはパディング領域が含まれるため、パディングを使用しても目的の外観が得られない場合があります。

于 2012-11-13T22:31:59.337 に答える
-1

それらを並べて表示するには、次のように変更します。

p {
    margin-bottom: 10px;
    display:inline;
}

div {
    padding: 1px;
    margin-top: 5px;
    display:inline;
}​
于 2012-11-13T22:19:42.967 に答える