Linie siatki

Z wierszami i kolumnami siatki powiązane są odpowiadające im linie widoczne na poniższej grafice. Maksymalna liczba linii w każdym kierunku wynosi n + 1, gdzie za n podstawiamy liczbę kolumn lub wierszy. Numery tych linii tworzą nam swoisty układ współrzędnych, za pomocą którego jesteśmy w stanie opisać dowolne położenie obiektu na siatce. Na poniższej grafice widzimy pomarańczowy prostokąt, którego położenie moglibyśmy opisać w następujący sposób: “Prostokąt ten zaczyna się na linii kolumny numer 2 i linii wiersza też numer 2, natomiast kończy się na linii kolumny numer 6 oraz linii wiersza nr 4.”

Jak nie trudno się domyślić, to właśnie w ten sposób będziemy układali poszczególne dzieci na siatce, dzięki czemu będziemy mieli pełną kontrolę nad ich rozmieszczeniem. Właściwości CSS odpowiedzialne za umieszczenie elementu w konkretnym miejscu siatki aplikujemy na dzieci. Możemy zrobić to za pomocą następujących właściwości:

/* Zapis, którego użylibyśmy dla elementu z powyższego przykładu: */
.orange-box {
  grid-column-start: 2;
  grid-column-end: 6;
  grid-row-start: 2;
  grid-row-end: 4;
}

/* Możemy również użyć wersji skróconej tego zapisu,
gdzie jako wartośc podajemy "start/end": */
.orange-box {
  grid-column: 2/6;
  grid-row: 2/4;
}

/* Jeżeli nie chcemy za każdym razem ustawiać dokładnych
numerów linii, za pomocą słowa "span" możemy określić ile
komórek siatki ma zająć określony element */
.orange-box {
  /* zacznij od drugiej kolumny i zajmij cztery następne */
  grid-column: 2 / span 4;
  /* zacznij od wiersza w którym aktualnie jesteś i zajmij dwa kolejne. */
  grid-row: span 2;
}

Za pomocą tej prostej, ale bardzo wydajnej metody, możemy tworzyć bardzo ciekawe ułożenie elementów na naszej stronie.

Zagnieżdżanie

W przypadku CSS Grid nic nie stoi na przeszkodzie, aby element jednej siatki stał się zupełnie nową siatką dla kolejnych elementów. Każdy element, na którym ustawimy właściwość { display: grid } automatycznie staje się siatką i możemy działać na nim tak jak do tej pory się uczyliśmy.

Masz pytania lub uwagi?

discord icon Przejdź na Discord
Masz pytanie? Napisz do nas 👇
kontakt@frontstack.pl
Copyright © 2023 Frontstack