Tovább a tartalomhoz

CSS Grid elrendezés

Kétdimenziós elrendezések a Bricks-ben: rácskonténer, vizuális rácsépítő, oszlop- és sorsávok, implicit rács, auto-fit és elemek elhelyezése vonalszám szerint.

A CSS Grid kétdimenziós elrendezéseket (oszlopok és sorok) tesz lehetővé. A CSS flexbox, amelyet a Bricks alapértelmezett elrendezési modellként használ, egydimenziós elrendezésekre való: vagy sor, vagy oszlop.

Bármely elrendezéselemet (szakasz, tároló, blokk, div) CSS-rácsos elrendezéssé alakíthatsz a Megjelenítés (Display) értékének grid-re állításával. Ez az elem a rácskonténer.

A rácskonténer minden közvetlen gyermekeleme rácselem, amelyhez további Rácsoszlop és Rácssor beállítások tartoznak, hogy elhelyezd a rácson belül.

Ha a szerkesztőben egy rácskonténert szerkesztesz, látható lesz egy rácsfedvény, amely a rácscellákat mutatja. Az elemműveletek közül a kis négyzetrácsos ikonra kattintva megjelenítheted vagy elrejtheted ezt a fedvényt.

Alapból a rácselemek sorokban helyezkednek el, és kitöltik a rácskonténer teljes szélességét. Önmagában ez még nem használja ki a CSS Grid valódi erejét, amíg nem adsz meg oszlop- és sorsávokat.

Visual Grid Builder (vizuális rácsépítő)

Szekció neve “Visual Grid Builder (vizuális rácsépítő)”

Ha egy elrendezéselem Megjelenítés értéke grid, a Bricks hozzáad egy Visual Grid Builder műveletet a rácsvezérlőhöz. Nyisd meg, hogy oszlopokat, sorokat és hézagokat vizuálisan hozz létre és módosíts, ahelyett, hogy minden grid-template-columns vagy grid-template-rows értéket kézzel írnál.

A Visual Grid Builder mutatja a rácspanelt, a sor- és oszlopvezérlőket, a töréspontvezérlőket, a visszavonás/újra előzményeket, valamint olyan műveleteket, mint a rács kitöltése vagy alaphelyzetbe állítása. Az oszlop-, sor- és hézagértékek visszakerülnek a rácsvezérlőkbe. A rácselemek elhelyezése, ahol lehetséges, a gyermekelemek rácsvezérlőibe mentődik. Lekérdezési ciklus elemeinél, aktív osztálystílusozásnál, nem beágyazható elemeknél vagy komponensgyökereknél a Bricks a generált elhelyezési CSS-t a kiválasztott rács egyedi CSS-ébe írja, a Visual Grid Builder jelölői között.

Oszlop- és sorsávok beállítása (explicit rács)

Szekció neve “Oszlop- és sorsávok beállítása (explicit rács)”

Ha elkészült a rácskonténer, meg kell határoznod az oszlop- és sorsávokat.

Ezt explicit módon teheted meg a rácskonténer Rácssablon oszlopai (grid-template-columns) és Rácssablon sorai (grid-template-rows) beállításaival. Néhány példa:

A grid-template-columns minden értéke egy oszlopsávot hoz létre. A fenti példa háromoszlopos rácselrendezést ad: az 1. oszlop fix 200 px széles, a 2. oszlop 1fr, a 3. 2fr széles.

Az fr új rugalmas egység, a törtegység, amely a rendelkezésre álló hely x részét foglalja el.

Hogyan számolódik az fr? Tegyük fel, hogy a rácskonténer 1100 px széles (a tároló alapértelmezett szélessége). Először le kell vonni az összes nem fr értéket és a hézagokat: az 1. oszlop fix 200 px-je után 900 px marad. Összesen 3 törtegység van (1fr a 2. és 2fr a 3. oszlopból), így az 1fr 300 px (900 px / 3). A 2. oszlop 300 px, a 3. oszlop 600 px széles.

A grid-template-rows minden értéke egy sorsávot hoz létre. A példa az első két sort definiálja explicit módon: az 1. sor 100 px, a 2. sor 300 px magas. Mivel csak az első két sor magasságát adtuk meg, a 2. sor utáni sorok magasságát alapból a tartalmuk határozza meg. Ezen az implicit rács létrehozásával lehet változtatni.

A rácskonténer automatikusan további (oszlop- és sor-)sávokat hoz létre azoknak a rácselemeknek, amelyek az explicit módon definiált rácson kívülre esnek. Ezt hívjuk implicit rácsnak.

Az implicit rács oszlop- és sormérete a rácskonténer Automatikus rácsoszlopok (grid-auto-columns) és Automatikus rácssorok (grid-auto-rows) beállításaival adható meg.

A minmax CSS-függvény minimális és maximális sávméretet ad. Két argumentumot fogad: az első a sáv minimális, a második a maximális értéke.

grid-template-columns: repeat(3, minmax(200px, 1fr)) háromoszlopos explicit rácsot hoz létre, ahol minden rácselem legalább 200 px, legfeljebb 1fr széles.

Az ilyen explicit rács gondja, hogy nem reszponzív: 600 px-nél keskenyebb nézetben túlcsordul (3 oszlop, egyenként legalább 200 px), és az oszlopok száma sem igazodik magától a különböző töréspontokhoz.

Az auto-fill vagy auto-fit kulcsszóval megoldhatók ezek a reszponzivitási gondok, mert médialekérdezések nélkül hozhatsz létre reszponzív rácselrendezést. Explicit háromoszlopos rács helyett így használd:

grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))

Hogy melyik kulcsszót használd, az a kívánt viselkedéstől függ: az auto-fit kitölti a rendelkezésre álló helyet a rácselemekkel, az auto-fill nem (megtartja a szabad helyet).

A repeat CSS-függvény tömör formában definiál ismétlődő sávméret-mintát. Két argumentuma: az első az ismétlések száma, a második a sávok definíciója.

  • grid-template-columns: repeat(3, 1fr) explicit háromoszlopos rácsot hoz létre.
  • grid-template-rows: 100px repeat(2, 1fr) 200px explicit négysoros rácsot hoz létre: az 1. sor 100 px, a 2. és a 3. sor 1fr, a 4. sor 200 px magas.

Rácselemek elhelyezése (vonalszám szerint)

Szekció neve “Rácselemek elhelyezése (vonalszám szerint)”

A rácsvonalak egy oszlop- vagy sorsáv kezdetét és végét jelölik. A számlálás 1-től kezdődik. Ezekkel a vonalszámokkal helyezhetsz el egy rácselemet a rácson.

Egy háromoszlopos explicit rácsban, amelynek elemei három sort fednek le, négy oszlopvonal és négy sorvonal van. Ha a böngészőben (például Chrome-ban) megvizsgálsz egy rácselrendezést, az elem csomópontja mellett látható kis kék grid gombra kattintva a böngésző a rácsvonalakat is megmutatja.

A rácselem elhelyezéséhez a Rácsoszlop (grid-column) és a Rácssor (grid-row) beállításokat használd. Ezek minden rácselemen (a rácskonténer közvetlen gyermekein) elérhetők.

Szintaxis: az első érték a kezdővonal száma, utána perjel (/), majd a második érték, a végvonal száma. Ha például a Rácsoszlop 2 / 4, az elem a 2. oszlopvonalnál kezdődik, és a 4.-nél végződik. Ha a Rácssor 1 / 3, az 1. sorvonalnál kezdődik, és a 3.-nál végződik, vagyis két oszlopot és két sort foglal el.

Ugyanezt elérheted a Rácsoszlop és a Rácssor span 2 értékével is. A span kulcsszó megadja, hogy az elem hány oszlopot vagy sort fogjon át.

  • A névvel ellátott rácsterületeket (grid-template-areas) egyedi CSS-ben kell megadni.
  • Lekérdezési ciklusban lévő rácselemek elhelyezését érdemes nth-child egyedi CSS-sel megoldani.
  • Ez a fejezet a CSS Grid áttekintése, nem teljes referencia. A CSS Grid mélyebb megismeréséhez érdemes külön CSS Grid útmutatókat is olvasni.

Készült:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások