CSS Academy · Les

Extend- en placeholder-selectors

Deel stijlen tussen selectors met @extend en stille placeholder-selectors.

Les 3 van 412 stappen

Extend- en placeholder-selectors is een gratis CSS Academy-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject CSS Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus CSS Academy bevat in totaal 4 lessen.

@extend in Sass

Met @extend kan één selector alle stijlen van een andere overnemen. In plaats van code te dupliceren, maakt uitbreiden een gedeelde regelset in de gecompileerde CSS.

<div class="error">Error message</div>
  <div class="critical-error">Critical error message</div>

Plaatsvervangende selectors

Een plaatsvervangende selector (met het voorvoegsel %) definieert een stijlblok dat nooit zelfstandig wordt gecompileerd — alleen wanneer het wordt uitgebreid. Er wordt geen CSS gegenereerd tenzij iets deze selector uitbreidt.

<div class="product-card">Product card</div>
  <div class="profile-card">Profile card</div>

Waarom plaatsvervangers beter zijn dan klassen

Als je een echte klasse uitbreidt, wordt de volledige selectorcontext van die klasse aan de gecompileerde uitvoer toegevoegd. Plaatsvervangers zijn overzichtelijker — ze leveren alleen gegroepeerde selectors op voor de selectors die ze uitbreiden.

Gecompileerde uitvoer van @extend

Wanneer meerdere selectors dezelfde plaatsvervangende selector uitbreiden, groepeert Sass ze in één kommagescheiden regel:

<div class="product-card">Product card</div>
  <div class="profile-card">Profile card</div>

Valkuilen van @extend

@extend heeft belangrijke beperkingen:

  • Kan niet binnen mediaquery's worden gebruikt
  • Kan onverwachte, grote groepen selectors opleveren wanneer ketens van uitbreidingen ontstaan
  • Maakt het moeilijker om gecompileerde CSS terug te voeren naar bronbestanden

Afwegingen tussen @extend en mixins

Vergelijking:

  • @extend: kleinere CSS (gedeelde regels), maar complexe selectorketens en beperkingen binnen mediaquery's
  • @mixin: dupliceert declaraties, maar is voorspelbaarder en kan binnen mediaquery's worden gebruikt

De mixin is meestal beter

In moderne Sass-werkwijzen krijgen mixins over het algemeen de voorkeur boven @extend. HTTP/2 en gzip-compressie maken het dupliceren van declaraties minder belangrijk, terwijl de betere debugbaarheid van mixins zwaarder weegt dan het minimale verschil in CSS-grootte.

Wanneer @extend zinvol is

@extend (met plaatsvervangers) is geschikt wanneer:

  • Meerdere selectors echt dezelfde semantische toestand delen (bijvoorbeeld fouttoestanden)
  • Je je niet binnen een mediaquery bevindt
  • De basisstijlen stabiel en goed gedefinieerd zijn

Plaatsvervangers en thematisering

Plaatsvervangers werken goed voor hulpsets die lijken op resets en waarvan meerdere componenten de stijlen overnemen:

<a href="#" class="skip-link">Skip to content</a>
  <span class="sr-label">Screen reader label</span>

Overwegingen rond veroudering

Sommige stijlgidsen en teams verbieden @extend volledig vanwege de complexiteit en de opgeblazen selectors die het kan veroorzaken. Ken de afwegingen en volg de afspraken van je team.

Korte controle

Wat is het verschil tussen het uitbreiden van een gewone klasse en het uitbreiden van een plaatsvervangende selector (%)?

Samenvatting

Met @extend kan een selector de stijlen van een andere selector overnemen, waarbij selectors in gecompileerde CSS worden gegroepeerd. Plaatsvervangers (%name) worden pas bij uitbreiding naar CSS gecompileerd — dit is overzichtelijker dan echte klassen uitbreiden. Vermijd @extend binnen mediaquery's. In moderne Sass krijgen mixins over het algemeen de voorkeur boven @extend vanwege hun voorspelbaarheid en debugbaarheid.

Gratis beginnen

Leer CSS met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
40
Lessen
159

Veelgestelde vragen

Is de les “Extend- en placeholder-selectors” gratis?

Ja — de volledige tekst van “Extend- en placeholder-selectors” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus CSS Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus CSS Academy bevat in totaal 4 lessen.

Wat leer ik in “Extend- en placeholder-selectors”?

Deel stijlen tussen selectors met @extend en stille placeholder-selectors. Je oefent met CSS Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met CSS Academy te beginnen?

Ervaring vooraf is niet nodig. CSS Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.

Hoe lang duurt de les “Extend- en placeholder-selectors”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over CSS Academy?

Ja. Elke les over CSS Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Variabelen, nesting en partials
  2. Mixins en includes
  3. Extend- en placeholder-selectors
  4. Sass-functies en control flow
← Terug naar CSS Academy