クラスを共有するセレクターのボックスがあります。widgetContainer
次の行にドロップする前に、1行に3divを保持できます。私はnth-child(3n+0)
3番目のdivごとに右側のマージンを取り除くために使用しており、最初の2つにさらに10pxのマージンを追加できます(これにより、divがコンテナに正確に収まります)。
しかし、私が知りたいのは、をターゲットにしnth-child(3n+0)
てマージンを削除する方法があるかどうかですが、例として、:not:nth-child(3n+0)
その上に10pxのマージンを追加できるようにする方法がありますか?これにより、CSSを同じに保つことができ、疑似セレクターがサポートされていない場合は、パフォーマンスが低下します。
私のコードをお見せしましょう:
HTML
<div class="widgetContainer">
<div class="widgetBox">
<dt>Title</dt>
<dd>Lorem Ipsum..</dd>
</div>
<div class="widgetBox">
<dt>Title</dt>
<dd>Lorem Ipsum..</dd>
</div>
<div class="widgetBox">
<dt>Title</dt>
<dd>Lorem Ipsum..</dd>
</div>
<div class="widgetBox">
<dt>Title</dt>
<dd>Lorem Ipsum..</dd>
</div>
<div class="widgetBox">
<dt>Title</dt>
<dd>Lorem Ipsum..</dd>
</div>
<div class="widgetBox">
<dt>Title</dt>
<dd>Lorem Ipsum..</dd>
</div>
</div>
CSS
.widgetBox {
width: 300px;
height: auto;
float: left;
margin: 30px 20px 10px 0;
border: 3px solid #e4e4e4;
}
.widgetBox:nth-child(3n+0) {
margin: 30px 0 10px 0;
}
CSSでできることwidgetBox
は、マージンをに設定することです30px 30px 10px 0
が、これはサポートされていないブラウザーでは機能しませんnth-child
。マージンが3番目のdivから削除されていないため、行ごとに2divが強制されます。
さらに詳しい説明が必要な場合はお知らせください。
注-私は実際にはこれにjQueryを使用したくないのですが、必要な場合はお知らせください。間違いなく使用を検討します。