Ich habe den folgenden HTML-Code auf einer Seite:
<h4>Some text</h4>
<p>
Some more text!
</p>
In meinem .css
habe ich den folgenden Selektor, um das h4
Element zu formatieren. Der obige HTML-Code ist nur ein kleiner Teil des gesamten Codes. Es gibt mehrere div
weitere, die zu einer Schattenbox gehören:
#sb-wrapper #sb-wrapper-inner #sb-body #myDiv h4
{
color : #614E43;
margin-top : 5px;
margin-left : 6px;
}
Ich habe also den richtigen Stil für mein h4
Element, möchte aber auch das p
Tag in meinem HTML-Code formatieren.
Ist das mit CSS-Selektoren möglich? Und wenn ja, wie kann ich das machen?
html
css
css-selectors
rauben
quelle
quelle
h4
Elemente zu finden , zum nächsten Geschwister zu gehen und dem eine CSS-Klasse hinzuzufügen. Mit jQuery wäre dies einfach$('#sb-wrapper #sb-wrapper-inner #sb-body #myDiv h4').next().addClass('shadowbox-h4-p');
Für Ihr wörtliches Beispiel möchten Sie den benachbarten Selektor (+) verwenden.
Wenn Sie jedoch alle aufeinander folgenden Absätze auswählen möchten, müssen Sie den allgemeinen Geschwister-Selektor (~) verwenden.
Es ist bekannt, dass es in IE 7+ leider fehlerhaft ist .
quelle
Schlagen Sie einfach darauf, wenn Sie versuchen, diese Art von Dingen selbst zu lösen.
Ich habe einen Selektor erstellt, der sich mit dem Element befasst, nachdem er etwas anderes als ein p war.
Hoffe das hilft jedem der es findet :)
quelle
*
Übereinstimmungen mit jedem Element, wie im Titel beschrieben. War eine hilfreiche Erinnerung für mich.Einfach für die Anfänger:
Wenn Sie ein Element unmittelbar nach einem anderen Element auswählen möchten, verwenden Sie den
+
Selektor.Beispielsweise:
div + p
Das Element "+" wählt alle<p>
Elemente aus, die unmittelbar nach den<div>
Elementen platziert werdenWenn Sie mehr über Selektoren erfahren möchten, verwenden Sie diese Tabelle
quelle
Ich verwende das neueste CSS und "+" hat bei mir nicht funktioniert, so dass ich am Ende mit
:erstes Kind
quelle