هامش CSS فقط بعد أول div في كل صف؟

أريد أن عرض بعض div في التفاف. لدى div اسم الفئة نفسه ولديها عرض ثابت. أريد تعيين بعض الهامش إلى أول قسائم في الصف ، ولكن ليس إلى div الأخير في الصف ، ولكن المشكلة هي أنني لا يمكنني تغيير html . إذا لم يكن ممكنًا باستخدام CSS ، فهل يمكن إجراؤه باستخدام jQuery؟ تعديل : عذرا ، نسي أن أذكر ، هناك دائما 2 divs على التوالي.

<div class="list">

<div class="box">Box 1</div> 
<div class="box">Box 2</div> <!-- should be margin-right:0 --> 
<div class="box">Box 3</div> 
<div class="box">Box 4</div> <!-- should be margin-right:0 --> 

</div>
2
شيء واحد أن نلاحظ هنا هو أن الإجابات المقدمة أدناه لن تكون عبر المتصفح أو إصدار المتصفح عبر حقا. الطريقة الأكثر موثوقية وآمنة للقيام بذلك هي في لغة جانب الخادم.
وأضاف المؤلف Sammaye, مصدر
لا ، دائمًا 2. عذرا ، نسيت أن أذكر.
وأضاف المؤلف user1355300, مصدر
هل مقدار box -divs لكل متغير صف؟
وأضاف المؤلف Sirko, مصدر

3 إجابة

تستخدم الآن لهذا

الخيار الأول

.box:nth-of-type(2n){
margin-right:0;
}

الخيار الثاني

.box:nth-child(even){
margin-right:0;
}

more info http://www.w3.org/Style/Examples/007/evenodd.en.html

7
وأضاف
على تغيير حجم 2n لن يكون في نفس المكان بعد الآن؟
وأضاف المؤلف Si8, مصدر
هذا جيد فقط للمتصفحات الجديدة التي تدعم n من نوع أو حتى. IE8 +
وأضاف المؤلف Adrian Florescu, مصدر
FlorescuAdrian فقط أضف polyfill للحالة التي تحتاج إليها لدعم IE <= 8: selectivizr.com
وأضاف المؤلف Christoph, مصدر

يمكنك استخدام خاصية css3 last-child لهذا الغرض. اكتب هكذا:

.box:last-child{
 margin-right:0;
}

But it's not it's IE8 & below

حسب متطلباتك ، يمكنك استخدام + select لهذا. اكتب هكذا:

.box + .box{
 margin-left:10px;
}

& it's work till IE7

1
وأضاف
0
وأضاف