12 Stimmen

Wählen Sie rekursiv :last-child. Möglich?

Ist es in CSS möglich, alle :last-child von body rekursiv auszuwählen?

Angesichts dieses Aufschlags:

<body>
  <div id="_1">
    <div id="_2"></div>
  </div>
  <div id="_3">
    <div id="_4">
      <div id="_5"></div>
      <div id="_6"></div>
    </div>
  </div>
</body>

Ich suche die Abteilung Nr. 3, 4 und 6

Man kann es auch so ausdrücken:

body > :last-child,
body > :last-child > :last-child,
body > :last-child > :last-child > :last-child,
body > :last-child > :last-child > :last-child > :last-child {
  /* My stuff here */
}

Aber das ist natürlich kein guter Ansatz.

2voto

Andy Punkte 1229
body :last-child {
    color:red;
}
body :not(:last-child) :last-child {
    color:initial;
}

Bei jedem Element, das von einem Element abstammt, das nicht das letzte Kind ist, wird die Änderung rückgängig gemacht.

0voto

Starx Punkte 74690

Es ist nicht nötig, die Kette ganz durchzuziehen. Sie würde einfach so lauten

div:last-child {
   /* Your GREAT css */
}

Demo

Aktualisierung: Geben Sie in diesem Fall die div2 eine typische Klasse und Verwendung :not() aus der Auswahl zu stoßen

div:last-child:not(.nolist) {
    border: 1px solid red;
}

Demo

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X