هل هناك محدد CSS لهذا؟

لدي قسم واحد أو قسمين على الصفحة مع فئة/فئات foo. أحتاج إلى تحديد الخيار الثاني فقط ، وهذا يعني أنه إذا كان هناك واحد فقط على الصفحة لا تحدده.

لقد حاولت div.foo:not (: first) و div.foo:nth-child (2) وكلاهما لا يعملان.

أيه أفكار؟

1
: أول هو محدد jQuery. غير موجود في CSS.
وأضاف المؤلف BoltClock, مصدر

2 إجابة

لا يوجد : nth-of-class() selector ، ولكن إذا كانت كلتا العنصرين div.foo تشارك نفس الوالد ، فيمكنك استخدام أحد محددات الأخوة بناءً على على ما إذا كانت الثانية div.foo تأتي مباشرة بعد أول أم لا:

div.foo + div.foo /* Is immediately after */
div.foo ~ div.foo /* Is somewhere after among its siblings */

إذا كان هناك احتمال أكثر من اثنين من هذه div s ، فقد تحتاج إلى التراجع عن الأنماط في القاعدة أعلاه باستخدام أحد هذه العناصر لأي من العناصر التالية:

div.foo + div.foo ~ div.foo
div.foo ~ div.foo ~ div.foo

ولا داعي للقلق بشأن دعم المتصفح ، يعمل هذا في IE7 +.

4
وأضاف
أيضا لا يعمل إلا إذا كان كلاهما يرد في نفس الوالد.
وأضاف المؤلف Sivvy, مصدر
إذا كانت عناصر div.foo لا تشارك نفس الوالد ، فسيتعين عليك استخدام jQuery مع محددك الأول ، كما في $ ('div.foo:not(:first ) ') </القانون>.
وأضاف المؤلف BoltClock, مصدر

ذلك يعتمد على عدد قليل من الأشياء. هل تختبر على IE؟ هل العناصر داخل نفس الوالد؟

إذا لم تكن العناصر داخل نفس الوالد ، لست متأكدًا من أنه يمكنهم استخدام هذه المحددات المحددة ، وبقدر ما أتذكر ، لا يعملون حاليًا في IE (باستثناء محددات الأخوة ، ولست متأكدين من IE9 +) .

0
وأضاف