Snelle tip geef uw CSS-rasterlijnen een naam, voor het geval dat

In elk CSS-raster heeft elke regel een indexnummer waarnaar we kunnen verwijzen om rasteritems te plaatsen. We kunnen echter ook elk van deze rasterlijnen een naam geven, waardoor het gemakkelijker wordt om met onze rasterlay-outs te werken en te onderhouden. Laten we kijken!

Rooster komt eraan

De meest voorkomende reactie op een willekeurige raster-tutorial is "maar wanneer kan ik dit gebruiken?" En het is een eerlijke vraag. Het feit is: Grid is komen, en het zal hier snel zijn.

"CSS Grid wordt in maart 2017 standaard ondersteund in Chrome en Firefox." - Eric Meyer

Als je er nog niet naar hebt gekeken, is dit het moment!

Grid regelnummers

Wanneer we een raster declareren, krijgt elke regel een indexnummer: 

Notitie: Tenzij de lay-out is ingesteld met richting: rtl;, deze nummers beginnen linksboven in het raster en werken naar rechtsonder. 

We kunnen naar deze nummers verwijzen om rasteritems te plaatsen:

.item grid-column: 2; rasterrij: 3; 

In dit voorbeeld onze .item element wordt gepositioneerd beginnend op kolom regel 2 en rij regel 3:

Explicit Grid Line Names

Bij complexere rasters kunt u zich voorstellen dat het verwijzen naar alles op nummer een beetje verwarrend kan zijn. Daarom stelt de Grid-module ons in staat om expliciet onze regels te benoemen wanneer we onze rasterkolommen en -rijen declareren.

Laten we een voorbeeld gebruiken zoals de voorbeelden die we in deze serie hebben gebruikt. Dit is onze eenvoudige 3 × 3-netverklaring:

.grid-1 display: grid; rooster-sjabloon-kolommen: 100px auto 100px; rooster-sjabloon-rijen: 60px 130px 50px; grid-gap: 20px; 

Nu kunnen we onze kolom- en rijwaarden omzetten met regelnamen (wat we ook willen), met vierkante haken:

.grid-1 display: grid; rooster-sjabloon-kolommen: [start] 100px [midden start] automatisch [laatste kolom start] 100px [einde]; grid-template-rijen: [header-start] 60px [hoofdstart] 130px [main-end] 50px [rij-einde]; grid-gap: 20px; 

We kunnen items nu plaatsen met namen, in plaats van nummers:

.item grid-column: center-start; grid-row: header-start; 

Enkele tips:

  • Deze namen kunnen worden aangepast aan uw eigen beschrijvende behoeften, dus denk logisch na over wat u zal helpen gebieden van het raster te herkennen en te onthouden.
  • De originele regelnummers blijven in gebruik, dus u kunt ze nog steeds gebruiken.
  • U kunt meerdere namen voor één regel declareren, bijvoorbeeld: [main-end footer-start rij-5] enz.
  • Zelfs als je je rasterlijnen een naam geeft, ben je niet verplicht om ze te gebruiken, dus het is een goede gewoonte om gewoon in te stappen.

Impliciete rasterlijnnamen

Wanneer we opzettelijk dingen doen, zoals het noemen van rasterlijnen, zou dat zo zijn uitdrukkelijk. Wanneer iets wordt geïmpliceerd, maar niet direct wordt vermeld, wordt dat het zijn genoemd stilzwijgend. We hebben het expliciet noemen van rasterlijnen benoemd, maar er zijn ook omstandigheden waarin lijnen impliciet namen krijgen.

Mogelijk herinnert u zich uit een eerdere zelfstudie dat het mogelijk is rastergebieden te definiëren.

We kunnen vier rastergebieden als volgt definiëren:

.grid-1 / * ... bestaande stijlen * / grid-sjabloon-gebieden: "header header header" "main main sidebar" "footer footer footer"; 

Dit geeft ons het volgende:

Een rastergebied een naam geven hoofd wijst automatisch ook namen toe aan zijn vier grenslijnen. De rijlijnen eromheen worden header-start en kop-end, en eveneens worden de twee kolomlijnen ook header-start en kop-end. Hetzelfde geldt voor de andere gebieden, die lijnnamen krijgen main-start, main-end, sidebar-start enzovoorts.

Notitie: Terugkijken op dingen die expliciet namen met dezelfde indeling toevoegen (header-start en kop-end) maakt een benoemd rastergebied van hoofd

We kunnen deze lijnnamen gebruiken zoals we eerder hebben gedaan om items te positioneren. En nogmaals, ze bestaan ​​naast de namen die u zelf definieert, en de originele regelindexnummers.

Einde van de regel

Dat is het voor deze snelle tip! Vergeet niet: maak er een gewoonte van om uw lijnen en gebieden een naam te geven voor eenvoudiger beheer en onderhoud van het netwerk.