Martynas Kašelionis
WEB developeris, programavimo mokytojas
Parengė: Martynas Kašelionis
From zero to hero
CSS GRID išdėstymas yra pažangiausia CSS išdėstymo sistema.
Tai yra dviejų dimensijų sistema, tai reiškia, kad ji gali valdyti ir stulpelius, ir eilutes
display: grid
Blokas tampa grid konteineriu viduje esantiems child elementams (1 lygio).
<div class="container">
<div class="item"></div>
<div class="item">
<p class="sub-item"></p>
</div>
<div class="item"></div>
</div>Grid Line - grid linija
Jos pagalba sukuriamas tinklelis (vertikalios linijos stulpeliams ir horizontalios eilutėms.
Grid Track - grid takelis
Erdvė tarp dviejų grid linijų (stulpeliai, eilutės).
Grid cell - grid langelis
Erdvė tarp susikertančių eilutės ir stulpelio.
Grid area - grid sritis
Erdvė susidedanti iš 4 grid linijų
display:grid
.container {
display: grid;
}
.container {
grid-template-columns: <track-size> ... | <line-name> <track-size> ...;
grid-template-rows: <track-size> ... | <line-name> <track-size> ...;
}.container {
grid-template-columns: 40px 50px auto 50px 40px;
grid-template-rows: 25% 100px auto;
}
.container {
grid-template-columns: [first] 40px [line2] 50px [line3] auto [col4-start] 50px [five] 40px [end];
grid-template-rows: [row1-start] 25% [row1-end] 100px [third-line] auto [last-line];
}.container {
grid-template-columns: repeat(3, 20px [col-start]);
}.container {
grid-template-columns: 1fr 1fr 1fr;
}
.container {
grid-template-columns: 1fr 50px 1fr 1fr;
}Apibrėžia grid šabloną, nurodydamas grid sričių pavadinimus, kurie nurodyti su grid-area ypatybe.
.item-a {
grid-area: header;
}
.item-b {
grid-area: main;
}
.item-c {
grid-area: sidebar;
}
.item-d {
grid-area: footer;
}
.container {
display: grid;
grid-template-columns: 50px 50px 50px 50px;
grid-template-rows: auto;
grid-template-areas:
"header header header header"
"main main . sidebar"
"footer footer footer footer";
}.container {
grid-column-gap: <line-size>;
grid-row-gap: <line-size>;
}.container {
grid-template-columns: 100px 50px 100px;
grid-template-rows: 80px auto 80px;
grid-column-gap: 10px;
grid-row-gap: 15px;
}.container {
grid-gap: <grid-row-gap> <grid-column-gap>;
}.container {
grid-template-columns: 100px 50px 100px;
grid-template-rows: 80px auto 80px;
grid-gap: 15px 10px;
}.container {
justify-items: start;
}Lygiuoja grid elementus pagal eilutės ašį
.container {
justify-items: end;
}.container {
justify-items: center;
}Lygiuoja grid elementus pagal eilutės ašį eilutėje
.container {
justify-items: stretch;
}.container {
justify-items: center;
}Lygiuoja grid elementus pagal eilutės ašį eilutėje
.container {
justify-items: stretch;
}.container {
align-items: start;
}Lygiuoja grid elementus pagal bloko ašį stulpelyje (vertikaliai)
.container {
align-items: end;
}.container {
align-items: center;
}Lygiuoja grid elementus pagal bloko ašį stulpelyje (vertikaliai)
.container {
align-items: stretch;
}.container {
place-items: start auto;
}Naudojama jeigu gridas yra mažesnis už konteinerį. pvz. jeigu stulpelių pločiui nustatyti buvau naudojami px.
Lygiuojamas gridas konteineryje
.container {
justify-content: start;
}Naudojama jeigu gridas yra mažesnis už konteinerį. pvz. jeigu stulpelių pločiui nustatyti buvau naudojami px.
Lygiuojamas gridas konteineryje
.container {
justify-content: end;
}Naudojama jeigu gridas yra mažesnis už konteinerį. pvz. jeigu stulpelių pločiui nustatyti buvau naudojami px.
Lygiuojamas gridas konteineryje
.container {
justify-content: center;
}Naudojama jeigu gridas yra mažesnis už konteinerį. pvz. jeigu stulpelių pločiui nustatyti buvau naudojami px.
Lygiuojamas gridas konteineryje
.container {
justify-content: stretch;
}Naudojama jeigu gridas yra mažesnis už konteinerį. pvz. jeigu stulpelių pločiui nustatyti buvau naudojami px.
Lygiuojamas gridas konteineryje
.container {
justify-content: space-around;
}Naudojama jeigu gridas yra mažesnis už konteinerį. pvz. jeigu stulpelių pločiui nustatyti buvau naudojami px.
Lygiuojamas gridas konteineryje
.container {
justify-content: space-between;
}Naudojama jeigu gridas yra mažesnis už konteinerį. pvz. jeigu stulpelių pločiui nustatyti buvau naudojami px.
Lygiuojamas gridas konteineryje
.container {
justify-content: space-evenly;
}Naudojama jeigu gridas yra mažesnis už konteinerį. pvz. jeigu stulpelių pločiui nustatyti buvau naudojami px.
Lygiuojamas gridas konteineryje
.container {
justify-content: space-evenly;
}Galima nurodyti justify-content ir align-content savybes
Paskirsto grid track plotį ir aukštį
.container {
grid-auto-columns: 60px;
}By Martynas Kašelionis