最小限のコードで3つのdivを水平にどのように配布しますか?Vertical Div Spacing
私は同じクラスを持つ3つのdivを持っているので、各divの間に19ピクセルの間隔で水平に分散する必要があります。
私の解決策は現在、最初の2 divに19ピクセルの右マージンを与え、19ピクセルの左マージンを与える別のクラスを3 divに割り当てます。
これは仕事を終わらせるが、もっと良いやり方があるように感じる。理想的には、3つのdivはすべて同じクラスを持ちます。
最小限のコードで3つのdivを水平にどのように配布しますか?Vertical Div Spacing
私は同じクラスを持つ3つのdivを持っているので、各divの間に19ピクセルの間隔で水平に分散する必要があります。
私の解決策は現在、最初の2 divに19ピクセルの右マージンを与え、19ピクセルの左マージンを与える別のクラスを3 divに割り当てます。
これは仕事を終わらせるが、もっと良いやり方があるように感じる。理想的には、3つのdivはすべて同じクラスを持ちます。
参照:adjacent sibling combinatorを使用していますがhttp://jsfiddle.net/thirtydot/q6Hj8/
.yourDivClass + .yourDivClass {
margin-left: 19px
}
.yourDivClass
によって先行されているすべての.yourDivClass
にmargin-left
を適用する - つまり、全ての第1を除きます。
右側に2つの列が必要です。 3番目の列は余分なマージンを必要としません。ボーダーが追加されたので、あなたはそれをフィドルで見ることができます。ここで
div.hasMargin { margin-right: 19px; } div.column { border-color: black; border-style: solid; border-width: 1px; float: left; }
感謝です!それは素晴らしい仕事でした。これは、私がCSSセレクタに遭遇した最初のことです。ブラウザー間の互換性/サポートに関する問題はありますか? – sheepgobeep
ようこそ。 '+'は古代のIE6(*はあなたがもう気にしないはずです)を除いて*どこでも動作します。 – thirtydot