Einzelner Selektor

einfacher Selektor{CSS-Eigenschaften}

Selektor Typen

Universalselektor*Formatiert alle Elemente
TypselektorentagnameFormatiert alle dieser Tags
Klassenselektoren.classnameFormatiert alle Tags mit class=“classname”
ID-Selektoren#idFormatiert den Tag mit id=“id”

Kombination von Selektoren

Mehrfachselektor

Gilt für beide Selektoren einzeln Selektor1, Selektor2{CSS-Eigenschaften}

Gilt für Elemente die durch beide Selektoren ausgewählt sind Selektor1Selektor2{CSS-Eigenschaften}

Kombinatoren

NameSyntaxBeschreibung
NachfahrselektorS1 S2Alle Unterelemente in dem durch selektor1 ausgewählten Element mit der durch selektor2 festgelegten Eigenschaft werden formatiert.
KindselektorS1>S2Nur die Kind Elemente in dem durch selektor1 ausgewählten Element mit der durch selektor2 festgelegten Eigenschaft werden formatiert. Die Unterelemente der Kinder werden nicht formatiert (Enkel…)
NachbarselektorS1+S2Das direkt nach dem durch selektor1 ausgewählte Element mit der durch selektor2 festgelegten Eigenschaft wird formatiert.
GeschwisterselektorS1~S2Alle Nachbarelemente des durch selektor1 ausgewählten Elements mit der durch selektor2 festgelegten Eigenschaft werden formatiert.
div.classnameDiv with certain classname
div#idnameDiv with certain ID
div ~ pP tags preceded by div

Attributselektoren

a[target]With a target attribute
a[target="_blank"]Open in new tab
a[href^="/index"]Starts with /index
`[class=“chair”]`Starts with chair
[class*="chair"]containing chair
[title~="chair"]Contains the word chair
a[href$=".doc"]Ends with .doc
[type="button"]Specified type

Gewichtung von Selektoren (Kaskadierung)

Bei gleicher Gewichtung, wird die zuletzt definierte Eigenschaft übernommen.

Zähler

Es gibt Zähler A, B, C Erhöhung bei:

A ID Selektor B Attributselektor, Klassenselektor, Pseudoklassenselektor C Typselektor, Pseudoelement

Pseudoelemente

SelektorBeispielBeschreibung
::afterp::afterInhalt hinter jedem <p> Element einfügen
::beforep::beforeInhalt vor jedem <p> Element einfügen
::first-letterp::first-letterWählt den ersten Buchstaben von jedem <p> aus
::first-linep::first-lineWählt die erste Zeile von jedem <p> aus
::selectionp::selectionWählt den vom User markierten Bereich aus

Pseudoklassen

Pseudoklassen können an einen Selektor angehängt werden um die Selektion auf einen speziellen Zustand einzuschränken.

User action pseudo classes

a:link Link in normal state
a:active Link in clicked state
a:hover Link with mouse over it
a:visited Visited link

Pseudo classes

p::afterAdd content after p
p::beforeAdd content before p
p::first-letterFirst letter in p
p::first-lineFirst line in p
::selectionSelected by user
::placeholderPlaceholder attribute
:rootDocuments root element
:targetHighlight active anchor
div:emptyElement with no children
p:lang(en)P with en language attribute
:not(span)Element that’s not a span

Input pseudo classes

input:checkedChecked inputs
input:disabledDisabled inputs
input:enabledEnabled inputs
input:focusInput has focus
input:in-rangeValue in range
input:out-of-rangeInput value out of range
input:validInput with valid value
input:invalidInput with invalid value
input:optionalNo required attribute
input:requiredInput with required attribute
input:read-onlyWith readonly attribute
input:read-writeNo read only attribute
input:indeterminateWith indeterminate state

Structural pseudo classes

p:first-childFirst child
p:last-childLast child
p:first-of-typeFirst of some type
p:last-of-typeLast of some type
p:nth-child(2)Second child of its parent
p:nth-child(3n42)Nth-child (an + b) formula
p:nth-last-child(2)Second child from behind
p:nth-of-type(2)Second p of its parent
p:nth-last-of-type(2)…from behind
p:only-of-typeUnique of its parent
p:only-childOnly child of its parent