In questo tutorial stiamo andando a prendere la griglia dal nostro tutorial precedente e usarlo come un parco giochi per guardare oltre in Grid. Miglioreremo il modo in cui definiamo i nostri canali di scolo, esploriamo i layout flessibili, i fr unità, e introdurre il ripetere()
funzione.
L'intero punto di Grid è di permetterci di controllare correttamente il layout sul web, quindi rendiamo la nostra griglia statica fluida prima di andare oltre. Se ricordi, stavamo definendo la nostra griglia con misure di pixel statici:
grid-template-columns: 150px 150px 150px; grid-template-rows: auto auto auto; intercapedine: 20px;
È anche possibile utilizzare anche altre unità qui, come ad esempio ems o rems. O anche unità più insolite come vh e vmin.
In questo caso, cambieremo le nostre unità pixel per le percentuali.
grid-template-columns: 33.33% 33.33% 33.33%;
Hmm, è un po 'complicato, ma fa un po' il lavoro. Noterai che le larghezze delle colonne ora aumentano fino al 100%; le nostre grondaie saranno sottratte da loro automaticamente. grid-gap
accetterà unità fisse o flessibili, il che significa che possiamo perfettamente combinare colonne fluide e grondaie fisse senza calcoli complessi da parte nostra.
Scriviamo questo è un modo più ordinato, usando il ripetere()
funzione:
grid-template-columns: repeat (3, 33.33%);
Questo afferma "Ripeti 33.33% tre volte" dandoci tre colonne. E noi nemmeno bisogno il grid-template-righe
dichiarazione perché il auto
il valore è assegnato come predefinito in ogni caso.
Nota: quando le colonne sono definite usando i valori%, useranno esattamente quei valori e ne aggiungeranno grid-gap
in cima. Noterai che la griglia sopra è stata spostata a destra perché ora è larga al 99,99% più le interruzioni di griglia.
Un ultimo miglioramento può essere apportato alla nostra semplice griglia e risolverà il problema della larghezza che abbiamo appena menzionato; introdurremo il fr, o frazione unità. Una singola unità fr descrive "Un pezzo di tanti pezzi che stiamo suddividendo in questo". Ad esempio, potremmo dichiarare le nostre colonne usando:
grid-template-columns: 1fr 1fr 1fr;
Qui c'è un totale di tre unità fr, quindi ogni colonna dovrebbe essere larga un terzo. Ecco un altro esempio:
grid-template-columns: 2fr 1fr 1fr
Ora c'è un totale di quattro unità fr, quindi la prima colonna occuperebbe metà della larghezza disponibile, con le altre due colonne per un quarto.
Queste unità sono davvero potenti, specialmente in combinazione con altre unità di misura:
grid-template-columns: 300px 1fr 3fr 20%;
Qui abbiamo dichiarato quattro colonne:
Sembra questo, evidenziando perfettamente il posizionamento automatico mentre i nostri nove elementi si spostano per colmare le lacune:
Ma torniamo alla nostra griglia originale. Sostituiamo il valore 33,33% impreciso e impreciso con 1fr:
grid-template-columns: repeat (3, 1fr);
Penna finita:
Quindi, per riassumere:
ripetere()
la funzione ci farà risparmiare tempo e manterrà i nostri fogli di stile mantenibili.Abbiamo fatto molta strada in soli due tutorial, ma ora sei l'orgoglioso proprietario di una griglia molto ordinata e concisa! Nel prossimo tutorial esploreremo le aree della griglia, dando un'occhiata al campata
parola chiave e alcuni layout pratici.
tipo e fr
unità su W3C