Ιδιότητες και τιμές για Grid
Στήλες (columns)
Οι παρακάτω ιδιότητες αφορούν διαμόρφωση στηλών.
Για να είναι τα στοιχεία διαταγμένα ως στήλες θα πρέπει να υπάρχει η ιδιότητα:
grid-auto-flow: column;
grid-auto-columns
Καταχωρείται στο container. Ορίζει το μέγεθος των στηλών ενός grid που έχει δηλωθεί έμμεσα (implicitly).
Σύνταξη
/* Keyword values */ grid-auto-columns: min-content; grid-auto-columns: max-content; grid-auto-columns: auto; /* length values */ grid-auto-columns: 100px; grid-auto-columns: 20cm; grid-auto-columns: 50vmax; /* percentage values */ grid-auto-columns: 10%; grid-auto-columns: 33.3%; /* flex values */ grid-auto-columns: 0.5fr; grid-auto-columns: 3fr; /* minmax() values */ grid-auto-columns: minmax(100px, auto); grid-auto-columns: minmax(max-content, 2fr); grid-auto-columns: minmax(20%, 80vmax); /* fit-content() values */ grid-auto-columns: fit-content(400px); grid-auto-columns: fit-content(5cm); grid-auto-columns: fit-content(20%); /* multiple track-size values */ grid-auto-columns: min-content max-content auto; grid-auto-columns: 100px 150px 390px; grid-auto-columns: 10% 33.3%; grid-auto-columns: 0.5fr 3fr 1fr; grid-auto-columns: minmax(100px, auto) minmax(max-content, 2fr) minmax(20%, 80vmax); grid-auto-columns: 100px minmax(100px, auto) 10% 0.5fr fit-content(400px); /* Global values */ grid-auto-columns: inherit; grid-auto-columns: initial; grid-auto-columns: unset;
Στήλες με πλάτος ίσο με το 20% του γονικού.
div#container { display: grid; grid-auto-flow: column; grid-auto-columns: 0.2fr; }
Στήλες με διαφορετικά πλάτη.
div#container { display: grid; grid-auto-flow: column; grid-auto-columns: 75px 150px 300px auto; }
grid-auto-columns: min-content;
Το κείμενο αναδιπλώνεται (wrapped) μέχρι να πάρει το ελάχιστο πλάτος.
grid-auto-columns: max-content;
Το κείμενο δεν αναδιπλώνεται μέχρι να πάρει το μέγιστο πλάτος.
grid-column-start
Ορίζει την αρχική θέση ενός στοιχείου grid στη στήλη.
Η ιδιότητα αναφέρεται σε στοιχείο του grid.
Ένα grid μπορεί να περιέχει περισσότερα κελιά από τα στοιχεία του container. Άρα μπορεί να καλύψει ένα grid area.
Σύνταξη
/* Keyword value */ grid-column-start: auto; /* custom-ident value */ grid-column-start: somegridarea; /* integer + custom-ident values */ grid-column-start: 2; grid-column-start: somegridarea 4; /* span + integer + custom-ident values */ grid-column-start: span 3; grid-column-start: span somegridarea; grid-column-start: 5 somegridarea span; /* Global values */ grid-column-start: inherit; grid-column-start: initial; grid-column-start: unset;
div#container { display: grid; grid-auto-flow: column; } div#container div:nth-child(1) { grid-column-start: 3; grid-column-end: 5; }
grid-column-end
Ορίζει την τελική θέση ενός στοιχείου grid στη στήλη.
Η ιδιότητα αναφέρεται σε στοιχείο του grid.
Ένα grid μπορεί να περιέχει περισσότερα κελιά από τα στοιχεία του container. Άρα μπορεί να καλύψει ένα grid area.
Σύνταξη
/* Keyword value */ grid-column-end: auto; /* custom-ident values */ grid-column-end: somegridarea; /* integer + custom-ident values */ grid-column-end: 2; grid-column-end: somegridarea 4; /* span + integer + custom-ident values */ grid-column-end: span 3; grid-column-end: span somegridarea; grid-column-end: 5 somegridarea span; /* Global values */ grid-column-end: inherit; grid-column-end: initial; grid-column-end: unset;
grid-column
Σύντομη γραφή για grid-column-start και grid-column-end. Οι δύο τιμές χωρίζονται με την κάθετο (/).
Σύνταξη
grid-column: grid-line / grid-line; grid-column: grid-line; grid-column: span 2 / 7;
grid-column: 1 / 3; grid-column: 2 / -1; grid-column: 1 / span 2; grid-column: 1;
Γραμμές (rows)
Οι παρακάτω ιδιότητες αφορούν διαμόρφωση γραμμών.
Για να είναι τα στοιχεία διαταγμένα ως γραμμές θα πρέπει να υπάρχει η ιδιότητα:
grid-auto-flow: row;
grid-auto-rows
Καταχωρείται στο container. Ορίζει το ύψος των γραμμών σε grid που έχει δηλωθεί έμμεσα (implicitly).
Σύνταξη
/* Keyword values */ grid-auto-rows: min-content; grid-auto-rows: max-content; grid-auto-rows: auto; /* length values */ grid-auto-rows: 100px; grid-auto-rows: 20cm; grid-auto-rows: 50vmax; /* percentage values */ grid-auto-rows: 10%; grid-auto-rows: 33.3%; /* flex values */ grid-auto-rows: 0.5fr; grid-auto-rows: 3fr; /* minmax() values */ grid-auto-rows: minmax(100px, auto); grid-auto-rows: minmax(max-content, 2fr); grid-auto-rows: minmax(20%, 80vmax); /* multiple track-size values */ grid-auto-rows: min-content max-content auto; grid-auto-rows: 100px 150px 390px; grid-auto-rows: 10% 33.3%; grid-auto-rows: 0.5fr 3fr 1fr; grid-auto-rows: minmax(100px, auto) minmax(max-content, 2fr) minmax(20%, 80vmax); grid-auto-rows: 100px minmax(100px, auto) 10% 0.5fr fit-content(400px); /* Global values */ grid-auto-rows: inherit; grid-auto-rows: initial; grid-auto-rows: unset;
Γραμμές με ίδιο ύψος.
div#container { display: grid; grid-auto-rows: 1fr; }
Γραμμές με διαφορετικά ύψη.
div#container { display: grid; grid-auto-rows: 75px 150px 300px auto auto; }
grid-row-start
Ορίζει την αρχική θέση ενός στοιχείου grid στη γραμμή.
Σύνταξη
/* Keyword value */ grid-row-start: auto; /* custom-ident values */ grid-row-start: somegridarea; /* integer + custom-ident values */ grid-row-start: 2; grid-row-start: somegridarea 4; /* span + integer + custom-ident values */ grid-row-start: span 3; grid-row-start: span somegridarea; grid-row-start: 5 somegridarea span; /* Global values */ grid-row-start: inherit; grid-row-start: initial; grid-row-start: unset;
grid-row-end
Ορίζει την τελική θέση ενός στοιχείου grid στη γραμμή.
Σύνταξη
/* Keyword value */ grid-row-end: auto; /* custom-ident values */ grid-row-end: somegridarea; /* integer + custom-ident values */ grid-row-end: 2; grid-row-end: somegridarea 4; /* span + integer + custom-ident values */ grid-row-end: span 3; grid-row-end: span somegridarea; grid-row-end: 5 somegridarea span; /* Global values */ grid-row-end: inherit; grid-row-end: initial; grid-row-end: unset;
grid-row
Σύντομη γραφή για grid-row-start και grid-row-end. Οι δύο τιμές χωρίζονται με την κάθετο (/).
Σύνταξη
grid-row: grid-line / grid-line; grid-row: grid-line; grid-row: span 2 / 7;
Παραδείγματα
grid-row: 1 / 3; grid-row: 2 / -1; grid-row: 1 / span 2; grid-row: 1;
auto flow
auto-flow
Η ιδιότητα grid-auto-flow ορίζει την αυτόματη ροή και τοποθέτηση των στοιχείων μέσα στο grid.
Σύνταξη
/* Keyword values */ grid-auto-flow: row; grid-auto-flow: column; grid-auto-flow: dense; grid-auto-flow: row dense; grid-auto-flow: column dense; /* Global values */ grid-auto-flow: inherit; grid-auto-flow: initial; grid-auto-flow: unset;
templates
Οι παρακάτω ιδιότητες αφορούν διαμόρφωση στηλών/γραμμών.
grid-template-columns
Καταχωρείται στο container. Ορίζει ονόματα και διαστάσεις στηλών.
Σύνταξη
/* Keyword value */ grid-template-columns: none; /* track-list values */ grid-template-columns: 100px 1fr; grid-template-columns: [linename] 100px; grid-template-columns: [linename1] 100px [linename2 linename3]; grid-template-columns: minmax(100px, 1fr); grid-template-columns: fit-content(40%); grid-template-columns: repeat(3, 200px); /* auto-track-list values */ grid-template-columns: 200px repeat(auto-fill, 100px) 300px; grid-template-columns: minmax(100px, max-content) repeat(auto-fill, 200px) 20%; grid-template-columns: [linename1] 100px [linename2] repeat(auto-fit, [linename3 linename4] 300px) 100px; grid-template-columns: [linename1 linename2] 100px repeat(auto-fit, [linename1] 300px) [linename3]; /* Global values */ grid-template-columns: inherit; grid-template-columns: initial; grid-template-columns: unset;
grid-template-rows
Καταχωρείται στο container. Ορίζει ονόματα και διαστάσεις γραμμών.
Σύνταξη
/* Keyword value */ grid-template-rows: none; /* track-list values */ grid-template-rows: 100px 1fr; grid-template-rows: [linename] 100px; grid-template-rows: [linename1] 100px [linename2 linename3]; grid-template-rows: minmax(100px, 1fr); grid-template-rows: fit-content(40%); grid-template-rows: repeat(3, 200px); /* auto-track-list values */ grid-template-rows: 200px repeat(auto-fill, 100px) 300px; grid-template-rows: minmax(100px, max-content) repeat(auto-fill, 200px) 20%; grid-template-rows: [linename1] 100px [linename2] repeat(auto-fit, [linename3 linename4] 300px) 100px; grid-template-rows: [linename1 linename2] 100px repeat(auto-fit, [linename1] 300px) [linename3]; /* Global values */ grid-template-rows: inherit; grid-template-rows: initial; grid-template-rows: unset;
grid-template-areas
Καταχωρείται στο container. Ορίζει areas με βάση τα ονόματα των areas.
Ένας εύκολος τρόπος διάταξης των στοιχείων grid (grid items) με τα ονόματα των κελιών που προηγούμενα έχουν ονοματιστεί.
Τα ονόματα μπορεί να είναι λέξεις ή/και γράμματα και γράφονται με τη σειρά που αντιστοιχεί στη διάταξη.
Η ιδιότητα με την οποία ορίζονται τα ονόματα και η διάταξη είναι η grid-template-areas
.
grid-template-areas: "head head head" "nav main aside" "foot foot foot"; grid-template-areas: "a a a" "b c c" "b d d";
Σύνταξη
/* Keyword value */ grid-template-areas: none; /* string values */ grid-template-areas: "a b"; grid-template-areas: "a b b" "a c d"; grid-template-areas: "head head" "nav main" "nav foot"; grid-template-areas: "head head head" "nav main aside" "foot foot foot"; /* Global values */ grid-template-areas: inherit; grid-template-areas: initial; grid-template-areas: unset;
grid-area
Σύντομη γραφή για: grid-row-start, grid-column-start, grid-row-end και grid-column-end.
grid-area: a; grid-area: 2 / 1 / 2 / 4; grid-area: 2 / 2 / auto / span 3;
Σύνταξη
/* Keyword values */ grid-area: auto; grid-area: auto / auto; grid-area: auto / auto / auto; grid-area: auto / auto / auto / auto; /* custom-ident values */ grid-area: some-grid-area; grid-area: some-grid-area / another-grid-area; /* integer && custom-ident ? values */ grid-area: some-grid-area 4; grid-area: some-grid-area 4 / 2 another-grid-area; /* span && [ integer || custom-ident ] values */ grid-area: span 3; grid-area: span 3 / span some-grid-area; grid-area: 2 span / another-grid-area span; /* Global values */ grid-area: inherit; grid-area: initial; grid-area: unset;
grid-template
Καταχωρείται στο container. Σύντομη γραφή για: grid columns, rows, και areas.
Σύνταξη
/* Keyword value */ grid-template: none; /* grid-template-rows / grid-template-columns values */ grid-template: 100px 1fr / 50px 1fr; grid-template: auto 1fr / auto 1fr auto; grid-template: [linename] 100px / [columnname1] 30% [columnname2] 70%; grid-template: fit-content(100px) / fit-content(40%); /* grid-template-areas grid-template-rows / grid-template-column values */ grid-template: "a a a" "b b b"; grid-template: "a a a" 20% "b b b" auto; grid-template: [header-top] "a a a" [header-bottom] [main-top] "b b b" 1fr [main-bottom] / auto 1fr auto; /* Global values */ grid-template: inherit; grid-template: initial; grid-template: unset;
Gutters
Ορίζει το κενό ανάμεσα στα tracks με τις ιδιότητες: grid-column-gap, grid-row-gap, ή grid-gap.
grid-column-gap ή column-gap
Ορίζει το διάστημα ανάμεσα στις στήλες του grid.
Σύνταξη
/* Keyword value */ column-gap: normal; /* length values */ column-gap: 3px; column-gap: 2.5em; /* percentage value */ column-gap: 3%; /* Global values */ column-gap: inherit; column-gap: initial; column-gap: unset;
grid-row-gap ή row-gap
Ορίζει το διάστημα ανάμεσα στις γραμμές του grid.
Σύνταξη
/* length values */ row-gap: 20px; row-gap: 1em; row-gap: 3vmin; row-gap: 0.5cm; /* percentage value */ row-gap: 10%; /* Global values */ row-gap: inherit; row-gap: initial; row-gap: unset;
grid-gap ή gap
Σύντομη γραφή για row-gap και column-gap. Οι δύο τιμές χωρίζονται με διάστημα.
Σύνταξη
/* One length value */ gap: 20px; gap: 1em; gap: 3vmin; gap: 0.5cm; /* One percentage value */ gap: 16%; gap: 100%; /* Two length values */ gap: 20px 10px; gap: 1em 0.5em; gap: 3vmin 2vmax; gap: 0.5cm 2mm; /* One or two percentage values */ gap: 16% 100%; gap: 21px 82%; /* calc() values */ gap: calc(10% + 20px); gap: calc(20px + 10%) calc(10% - 5px); /* Global values */ gap: inherit; gap: initial; gap: unset;