Junior
Czym jest CSS Grid?
sobes.tech AI
Odpowiedź od AI
Układ siatki CSS (lub po prostu CSS Grid) to dwuwymiarowy system układu w CSS. Pozwala zarządzać rozmieszczeniem elementów zarówno w wierszach (poziomo), jak i kolumnach (pionowo), tworząc złożone struktury siatki do budowy interfejsów.
Główne koncepcje CSS Grid obejmują:
- Kontener siatki: Element, do którego stosuje się właściwość
display: gridlubdisplay: inline-grid. Descendants tego elementu stają się elementami siatki. - Elementy siatki: Bezpośredni potomkowie kontenera siatki.
- Linie siatki: Linie dzielące tworzące siatkę. Mogą być nazwane lub mieć indeks numeryczny.
- Tory siatki: Przestrzeń między dwoma liniami siatki — jest to kolumna lub wiersz.
- Komórki siatki: Najmniejsza jednostka siatki, utworzona przez przecięcie wiersza i kolumny.
- Obszary siatki: Prostokątne obszary siatki zajmujące jedną lub więcej komórek.
Kluczowe właściwości do pracy z CSS Grid obejmują:
Dla kontenera:
display: grid | inline-grid;grid-template-columns: Definiuje kolumny siatki.grid-template-rows: Definiuje wiersze siatki.grid-template-areas: Definiuje nazwane obszary siatki.gap | row-gap | column-gap: Definiuje odstępy między komórkami.justify-items | align-items | place-items: Wyrównanie zawartości wewnątrz komórek wzdłuż głównych i poprzecznych osi.justify-content | align-content | place-content: Wyrównanie torów siatki wewnątrz kontenera.
Dla elementów (Elementy siatki):
grid-column-start | grid-column-end | grid-column: Określa, które linie kolumn zajmuje element.grid-row-start | grid-row-end | grid-row: Określa, które linie wierszy zajmuje element.grid-area: Przypisuje elementowi nazwany obszar siatki lub określa jego pozycję za pomocą linii.justify-self | align-self | place-self: Wyrównanie samego elementu wewnątrz jego komórki.
CSS Grid zapewnia potężne narzędzia do tworzenia responsywnych i złożonych układów, znacznie upraszczając zadania, które wcześniej wymagały użycia float, inline-block lub pozycjonowania absolutnego.
.container {
display: grid; /* Ustawia element jako kontener siatki */
grid-template-columns: 1fr 1fr 1fr; /* Tworzy 3 kolumny o równej szerokości */
grid-template-rows: auto auto; /* Tworzy 2 wiersze o automatycznej wysokości */
gap: 10px; /* Dodaje odstępy między komórkami */
}
.item {
/* Elementy wewnątrz kontenera automatycznie stają się elementami siatki */
background-color: lightblue;
padding: 20px;
text-align: center;
}
.item:nth-child(1) {
grid-column: 1 / 3; /* Pierwszy element zajmuje kolumny od 1 do 3 */
}