814 Stimmen

Was bedeutet der CSS-Selektor "+" (Pluszeichen)?

Zum Beispiel:

p + p {
  /* Some declarations */
}

Ich weiß nicht, was die + bedeutet. Was ist der Unterschied zwischen dieser Vorgehensweise und der Definition eines Stils für p sin + p ?

1 Stimmen

In der Praxis ist dies meist nützlich, um einen Rand oder eine Füllung zwischen gleichartigen Listenelementen anzubringen, so dass für das erste oder letzte Element kein Sonderfall erforderlich ist.

827voto

Thorarin Punkte 45433

Voir benachbarte Selektoren auf W3.org.

In diesem Fall bedeutet der Selektor, dass der Stil nur für Absätze gilt, die direkt auf einen anderen Absatz folgen.

Eine Ebene p Selektor würde die Formatvorlage auf jeden Absatz der Seite anwenden.


Dies funktioniert nur mit IE7 oder höher. Im IE6 wird der Stil nicht auf Elemente angewendet. Dies gilt auch für die > combinator, nebenbei bemerkt.

Siehe auch die Übersicht von Microsoft für CSS-Kompatibilität im Internet Explorer .

45voto

Gordon Gustafson Punkte 38406

"+" ist der Selektor für benachbarte Geschwister. Er wählt ein beliebiges p DIREKT NACH einem p aus (kein Kind oder Elternteil, sondern ein Geschwisterteil).

31voto

L J Punkte 4781

Le site + Kombinator wird als Benachbarter Geschwisterkombinator / Nächster-Geschwister-Kombinator .

Zum Beispiel kann die Kombination von p + p Selektoren, wählt die p Elemente unmittelbar nach dem p Elemente

Man kann es sich als eine "nebenherschauende" Kombination vorstellen, die nach dem unmittelbar nach Element.

Hier ein Beispiel, um die Dinge zu verdeutlichen:

body {
  font-family: Tahoma;
  font-size: 12px;
}
p + p {
  margin-left: 10px;
}

<div>
  <p>Header paragraph</p>
  <p>This is a paragraph</p>
  <p>This is another paragraph</p>
  <p>This is yet another paragraph</p>
  <hr>
  <p>Footer paragraph</p>
</div>

Da wir gerade beim Thema sind, sei ein weiterer Kombinator erwähnt, ~ das ist die Allgemeiner Geschwisterkombinator / Nachfolge-Geschwister-Kombinator

Zum Beispiel, p ~ p wählt alle p die folgt die p Es ist egal, wo es ist, aber beide p sollten denselben Elternteil haben.

So sieht es mit demselben Markup aus:

body {
  font-family: Tahoma;
  font-size: 12px;
}
p ~ p {
  margin-left: 10px;
}

<div>
  <p>Header paragraph</p>
  <p>This is a paragraph</p>
  <p>This is another paragraph</p>
  <p>This is yet another paragraph</p>
  <hr>
  <p>Footer paragraph</p>
</div>

Beachten Sie, dass die letzte p wird auch in dieser Stichprobe abgeglichen.

29voto

corn on the cob Punkte 1634

Le site + Selektor zielt auf das folgende Element ab. In ähnlicher Weise ist der ~ Selektor zielt auf alle nachfolgenden Elemente ab. Hier ist ein Diagramm, falls Sie verwirrt sind:

enter image description here

22voto

Nesha Zoric Punkte 5358

+ präsentiert einen der relativen Selektoren. Hier finden Sie eine Liste aller relativen Selektoren:

div p - Alle <p> Elemente innerhalb einer <div> Element ausgewählt werden.

div > p - Alle <p> Elemente, deren direkter Elternteil <div> ausgewählt werden. Es funktioniert auch rückwärts ( p < div )

div + p - Alle <p> Elemente, die unmittelbar nach einem <div> Element ausgewählt werden.

div ~ p - Alle <p> Elemente, die mit einem vorangestellten <div> Element ausgewählt werden.

Hier erfahren Sie mehr über Selektoren .

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