Γεννήτρια Flexbox και CSS Grid
Φτιάξτε οπτικά διατάξεις flexbox και CSS grid. Ορίστε ιδιότητες, ονομάστε περιοχές πλέγματος και αντιγράψτε καθαρό CSS και HTML.
Προεπιλογές
Κάντε κλικ σε ένα στοιχείο της προεπισκόπησης για να το επιλέξετε και να επεξεργαστείτε τις ιδιότητές του παρακάτω.
Πώς να χρησιμοποιήσετε το εργαστήριο flexbox και grid
- Επιλέξτε μια Διάταξη: Flexbox ή Grid ή ξεκινήστε από μία από τις Προεπιλογές (Κεντραρισμένο, Γραμμή πλοήγησης, Κάρτες με αναδίπλωση, Πλαϊνή στήλη, Προσαρμοστικό πλέγμα καρτών, Holy grail, 12 στήλες).
- Ορίστε τις ιδιότητες του Περιέκτης. Για το flexbox:
flex-directionκαιflex-wrap. Για το grid:grid-template-columns,grid-template-rows,grid-auto-flow,justify-itemsκαιgrid-template-areas. Και τα δύο έχουν κοινά ταjustify-content,align-items,align-content,row-gap (px)καιcolumn-gap (px). - Διαχειριστείτε τα Στοιχεία με τα Προσθήκη στοιχείου, Αφαίρεση επιλεγμένου στοιχείου και Επαναφορά επιλεγμένου στοιχείου. Κάντε κλικ σε ένα στοιχείο της προεπισκόπησης (ή μεταβείτε σε αυτό με το Tab και πατήστε Enter) για να το επιλέξετε.
- Επεξεργαστείτε το επιλεγμένο στοιχείο:
orderκαιalign-selfκαι στους δύο τρόπους,flex-grow,flex-shrinkκαιflex-basisγια το flexbox καιgrid-area,grid-column,grid-rowκαιjustify-selfγια το grid. - Αντιγράψτε τον Κώδικας CSS και τον αντίστοιχο Κώδικας HTML με τα κουμπιά Αντιγραφή.
Κάθε στοιχείο ελέγχου είναι τυπικό πεδίο φόρμας, οπότε ολόκληρο το εργαστήριο λειτουργεί μόνο με το πληκτρολόγιο. Το CSS περιέχει μόνο τις ιδιότητες που αλλάξατε σε σχέση με τις προεπιλογές, κάτι που το κρατά σύντομο, και τα στοιχεία με ίδιες ρυθμίσεις μοιράζονται έναν κανόνα (.item όταν ταιριάζουν όλα).
Το flexbox με λίγα λόγια
Το flexbox τακτοποιεί τα στοιχεία κατά μήκος ενός άξονα. Το flex-direction ορίζει τον κύριο άξονα (σειρά ή στήλη)· το justify-content κατανέμει τα στοιχεία κατά μήκος του (center, space-between…) και το align-items τα τοποθετεί στον εγκάρσιο άξονα. Με flex-wrap: wrap, τα στοιχεία που δεν χωρούν περνούν σε νέα γραμμή και το align-content αραιώνει τότε αυτές τις γραμμές.
Κάθε στοιχείο έχει τρεις ιδιότητες μεγέθους, που συνήθως γράφονται μαζί ως flex:
flex-basis: το αρχικό μέγεθος (τοautoχρησιμοποιεί το περιεχόμενο ή τοwidth)·flex-grow: πόσο από τον ελεύθερο χώρο παίρνει το στοιχείο (0 = καθόλου, 1 = ίσο μερίδιο)·flex-shrink: πόσο υποχωρεί όταν λείπει χώρος (0 = δεν συρρικνώνεται ποτέ).
Η προεπιλογή Πλαϊνή στήλη δείχνει το κλασικό μοτίβο: μια πλαϊνή στήλη με flex-basis: 200px και flex-shrink: 0 και μια κύρια περιοχή με flex-grow: 1.
Το CSS Grid με λίγα λόγια
Το grid τακτοποιεί τα στοιχεία σε δύο διαστάσεις. Το grid-template-columns: repeat(3, 1fr) δημιουργεί τρεις ίσες στήλες· το fr είναι μερίδιο του ελεύθερου χώρου. Το repeat(auto-fill, minmax(120px, 1fr)) δημιουργεί όσες στήλες των τουλάχιστον 120px χωρούν, κάτι που φτιάχνει ένα προσαρμοστικό πλέγμα καρτών χωρίς κανένα media query.
Τα στοιχεία γεμίζουν τα κελιά με τη σειρά, εκτός αν τα τοποθετήσετε εσείς: το grid-column: span 2 κάνει ένα στοιχείο πλάτους δύο στηλών και το grid-column: 1 / -1 το τεντώνει σε ολόκληρη τη σειρά.
Το grid-template-areas σας επιτρέπει να σχεδιάσετε τη διάταξη με ονόματα. Πληκτρολογήστε μία σειρά ανά γραμμή, για παράδειγμα header header και μετά nav main, και δώστε στα στοιχεία grid-area: header ή grid-area: main. Μια τελεία σημαίνει κενό κελί. Κάθε σειρά χρειάζεται τον ίδιο αριθμό κελιών και κάθε όνομα πρέπει να σχηματίζει ορθογώνιο· αλλιώς το εργαλείο σας προειδοποιεί.
Συχνές ερωτήσεις
Να χρησιμοποιήσω flexbox ή grid;
Flexbox για μονοδιάστατο περιεχόμενο, όπως γραμμές εργαλείων, ομάδες κουμπιών ή κεντράρισμα. Grid όταν οι σειρές και οι στήλες πρέπει να ευθυγραμμίζονται, όπως στις διατάξεις σελίδων και στις γκαλερί καρτών. Συνδυάζονται καλά: ένα πλέγμα καρτών των οποίων το εσωτερικό χρησιμοποιεί flexbox.
Γιατί το align-items δεν αλλάζει τίποτα;
Σε σειρά, τα στοιχεία τεντώνονται από προεπιλογή στο ύψος του περιέκτη και ο περιέκτης έχει ύψος όσο το περιεχόμενό του. Δώστε του ύψος ή δείτε την προεπισκόπηση, που έχει ελάχιστο ύψος.
Τι κάνει το gap;
Ορίζει το κενό ανάμεσα στα στοιχεία (όχι γύρω τους). Λειτουργεί τόσο στο flexbox όσο και στο grid σε όλα τα σύγχρονα προγράμματα περιήγησης.
Αλλάζει το order τη σειρά ανάγνωσης;
Όχι. Το order μετακινεί τα στοιχεία μόνο οπτικά· τα προγράμματα ανάγνωσης οθόνης και η πλοήγηση με το πληκτρολόγιο ακολουθούν πάντα τη σειρά της HTML, γι’ αυτό χρησιμοποιήστε το με φειδώ.
Σχετικά εργαλεία
- Μορφοποίηση και ελαχιστοποίηση CSS Μορφοποιήστε ακατάστατο CSS με καθαρές εσοχές ή ελαχιστοποιήστε το με το csso και δείτε το μέγεθος πριν και μετά. Λειτουργεί στο πρόγραμμα περιήγησής σας.
- Γεννήτρια Border Radius Διαμορφώστε οπτικά το border-radius του CSS με κουκκίδες που σύρονται. Ορίστε κάθε γωνία σε px ή %, φτιάξτε σχήματα blob και αντιγράψτε τον κώδικα.
- Γεννήτρια Box Shadow Σχεδιάστε πολυεπίπεδες σκιές box-shadow σε CSS με ζωντανή προεπισκόπηση. Ορίστε μετατόπιση, θάμπωμα, χρώμα, inset και αντιγράψτε τον κώδικα.