Första stycket i article
Andra stycket i article
Modul 3 · Kapitel 3.4
Bra selektorer gör CSS lättare att läsa, återanvända och felsöka.
Mål
Typselektor
p {
line-height: 1.5;
}Det här stycket påverkas.
Även detta stycke påverkas.
Klassselektor
<p class="intro-text">Text</p>
.intro-text {
font-weight: 700;
}Detta stycke har klassen intro-text.
Detta stycke saknar klassen.
Klassnamn
| HTML | CSS |
|---|---|
class="intro-text" | .intro-text |
Använd gärna bindestreck i klassnamn.
Ett mellanslag betyder två separata klasser, inte ett långt klassnamn.
ID-selektor
<form id="contact-form">...</form>
#contact-form {
border: 1px solid #5eead4;
}Ett id ska normalt bara användas en gång per sida.
Välj klass när stilen ska återanvändas.
Var används id?
label for kopplas till ett fälts id.#.Gruppering
h1,
h2,
h3 {
line-height: 1.15;
}Kommatecknen betyder att alla tre selektorer får deklarationen.
DRY
h1 { line-height: 1.15; }
h2 { line-height: 1.15; }
h3 { line-height: 1.15; }h1, h2, h3 {
line-height: 1.15;
}Gruppering minskar upprepning.
Kedjeselektor
<div class="card highlight">...</div>
.card.highlight {
border-color: orange;
}Härstammande selektor
article p {
max-width: 70ch;
}Mellanslaget betyder: välj p-element som ligger någonstans inuti article.
70ch är en bredd på ungefär 70 nolltecken i den aktuella fonten.
Ändra reglaget och se hur ch begränsar radens bredd. Ett lägre värde gör textkolumnen smalare och texten bryts över fler rader.
Skillnaden
.card.highlight | article p |
|---|---|
| Samma element har två klasser. | p ligger inuti article. |
| Inget mellanslag. | Mellanslag mellan selektorerna. |
Pseudoklass
a:hover {
text-decoration: underline;
}
a:focus {
outline: 2px solid #5eead4;
}:hover reagerar på muspekaren. :focus visar tangentbordsfokus.
Interaktiv pseudoklass
En tydlig fokusmarkering är viktig för tangentbordsnavigering.
Specificitet
plägst.intro#introstyle="..."starkSpecificitet och ordning
p { color: red !important; }!important gör deklarationen starkare än vanliga deklarationer. Undvik det eftersom kaskaden blir svårare att förstå och senare regler ofta måste göras ännu starkare.
Interaktiv selektor
<p class="intro">Introtext</p>
<article>
<p id="special">Första stycket</p>
<p>Andra stycket</p>
</article>
<p>Vanligt stycke</p>Välj en selektorIntrotext
Första stycket i article
Andra stycket i article
Vanligt stycke
Strategi
Kontrollfråga
Alla article och alla p – eller bara p inuti article?
Svar: endast p-element som ligger inuti article.
Sammanfattning