Om tabellen beter leesbaar te maken, is het vaak handig om rijen op te maken met afwisselende achtergrondkleuren. Een van de meest gebruikelijke manieren om tabellen op te maken, is door de achtergrondkleur van elke andere rij in te stellen. Dit wordt vaak "zebrastrepen" genoemd.
U kunt dit bereiken door om de andere rij een CSS-klasse in te stellen en vervolgens de stijl voor die klasse te definiëren. Dit werkt, maar is niet de beste of meest efficiënte manier om dit aan te pakken. Wanneer u deze methode gebruikt, moet u mogelijk elke keer dat u die tabel moet bewerken, elke afzonderlijke rij in de tabel bewerken om ervoor te zorgen dat elke rij consistent is met de wijzigingen. Als u bijvoorbeeld een nieuwe rij in uw tabel invoegt, moet de klasse worden gewijzigd om elke andere rij eronder.
CSS maakt het eenvoudig om tafels met zebrastrepen te stylen. U hoeft niets extra's toe te voegen HTML attributen of CSS-klassen, gebruik je gewoon de: nth-of-type (n) CSS-kiezer.
De: nth-of-type (n) selector is een structurele pseudo-klasse in CSS waarmee u elementen kunt stylen op basis van hun relaties met ouder- en broer/zus-elementen. U kunt het gebruiken om een of meer elementen te selecteren op basis van hun bronvolgorde. Met andere woorden, het kan overeenkomen met elk element dat het zoveelste kind is van een bepaald type van zijn ouder.
De letter n kan een trefwoord zijn (zoals oneven of even), een getal of een formule.
Als u bijvoorbeeld elke andere alineatag wilt opmaken met een gele achtergrondkleur, zou uw CSS-document het volgende bevatten:
p: n-de-van-type (oneven) {
achtergrond: geel;
}
Begin met uw HTML-tabel
Maak eerst uw tabel zoals u deze normaal gesproken in HTML zou schrijven. Voeg geen speciale klassen toe aan de rijen of kolommen.
Voeg in je stylesheet de volgende CSS toe:
tr: n-de-van-type (oneven) {
achtergrondkleur:#ccc;
}
Hiermee wordt elke andere rij gestyled met een grijze achtergrondkleur, beginnend met de eerste rij.
Afwisselende kolommen op dezelfde manier opmaken
U kunt hetzelfde soort opmaak toepassen op kolommen in uw tabellen. Om dit te doen, wijzigt u eenvoudig de tr in uw CSS-klasse in td. Bijvoorbeeld:
td: n-de-van-type (oneven) {
achtergrondkleur:#ccc;
}
Formules gebruiken in een nth-of-type (n) selector
De syntaxis voor een formule die in de selector wordt gebruikt, is an+b.
- a is een getal dat de cyclus- of indexgrootte vertegenwoordigt.
- n is eigenlijk de letter "n" en vertegenwoordigt een teller met een sterren van 0.
- + is een operator, die ook "-" kan zijn
- b is een geheel getal en vertegenwoordigt de offsetwaarde — bijvoorbeeld hoeveel rijen naar beneden moet de selector beginnen met het toepassen van de achtergrondkleur. Dit is vereist als een operator in de formule is opgenomen.
Als u bijvoorbeeld voor elke 3e rij een achtergrondkleur wilt instellen, is uw formule 3n+0. Uw CSS kan er als volgt uitzien:
tr: n-de-van-type (3n+0) {
achtergrond: leigrijs;
}
Handige hulpmiddelen voor het gebruik van nth-of-type selector
Als je je een beetje afgeschrikt voelt door het formuleaspect van het gebruik van de pseudo-klasse nth-of-type selector, probeer de: nth Tester-site als een handig hulpmiddel dat u kan helpen de syntaxis te definiëren om de gewenste look te krijgen. Gebruik het vervolgkeuzemenu om nth-of-type te selecteren (je kunt hier ook experimenteren met andere pseudo-klassen, zoals nth-child).