Junior
Πώς ορίζονται οι ιδιότητες του flexbox;
sobes.tech AI
Απάντηση από AI
Ιδιότητες ορίζονται για το κοντέινερ (το στοιχείο στο οποίο εφαρμόζεται display: flex ή display: inline-flex) και τους άμεσους απογόνους του (τα στοιχεία μέσα στο κοντέινερ).
Ιδιότητες για το κοντέινερ:
display: Ορίζει ότι το στοιχείο είναι κοντέινερ flex. Δυνατές τιμές:flex(μπλοκ) καιinline-flex(γραμμή).flex-direction: Ορίζει την κατεύθυνση του κύριου άξονα, κατά μήκος του οποίου τοποθετούνται τα flex στοιχεία. Δυνατές τιμές:row(προεπιλογή, αριστερά προς δεξιά),row-reverse(δεξιά προς αριστερά),column(πάνω προς κάτω),column-reverse(κάτω προς πάνω).flex-wrap: Διαχειρίζεται την περικοπή των flex στοιχείων σε νέα γραμμή αν ξεπεράσουν τα όρια του κοντέινερ. Δυνατές τιμές:nowrap(προεπιλογή, χωρίς περικοπή),wrap(περικοπή σε νέα γραμμή),wrap-reverse(αντίστροφη περικοπή σε νέα γραμμή).justify-content: Ευθυγραμμίζει τα flex στοιχεία κατά μήκος του κύριου άξονα. Δυνατές τιμές:flex-start(αρχή κοντέινερ),flex-end(τέλος κοντέινερ),center,space-between(ισοκατανεμημένος χώρος ανάμεσα στα στοιχεία, το πρώτο στην αρχή, το τελευταίο στο τέλος),space-around(ισοκατανεμημένος χώρος γύρω από κάθε στοιχείο).align-items: Ευθυγραμμίζει τα flex στοιχεία κατά μήκος του διασταυρούμενου άξονα. Δυνατές τιμές:stretch(προεπιλογή, τεντώνει τα στοιχεία κατά το ύψος του κοντέινερ),flex-start(αρχή),flex-end(τέλος),center,baseline(ευθυγράμμιση με τη βασική γραμμή του κειμένου).align-content: Ευθυγραμμίζει τις γραμμές των flex στοιχείων (όταν χρησιμοποιείται τοflex-wrap) κατά μήκος του διασταυρούμενου άξονα. Δεν ισχύει αν υπάρχει μόνο μια γραμμή. Δυνατές τιμές:stretch,flex-start,flex-end,center,space-between,space-around.gap,row-gap,column-gap: Ορίζουν την απόσταση μεταξύ των flex στοιχείων κατά μήκος των κύριων και διασταυρούμενων αξόνων.
Ιδιότητες για τα στοιχεία (άμεσους απογόνους του flex κοντέινερ):
order: Ορίζει τη σειρά τοποθέτησης του στοιχείου μέσα στο κοντέινερ. Προεπιλεγμένα, όλα τα στοιχεία έχουνorder: 0. Τα στοιχεία με μικρότερη τιμήorderτοποθετούνται πρώτα.flex-grow: Ορίζει πόσο θα μεγαλώσει το στοιχείο σε σχέση με άλλα στοιχεία αν υπάρχει ελεύθερος χώρος. Προεπιλογή0(δεν μεγαλώνει).flex-shrink: Ορίζει πόσο θα μικρύνει το στοιχείο αν δεν υπάρχει αρκετός χώρος. Προεπιλογή1(μειώνεται).flex-basis: Ορίζει το αρχικό μέγεθος του στοιχείου πριν την κατανομή του ελεύθερου χώρου. Μπορεί να οριστεί σε pixels, ποσοστά ήauto. Προεπιλογήauto.flex: Συντομευμένη ιδιότητα γιαflex-grow,flex-shrinkκαιflex-basis. Για παράδειγμα,flex: 1 1 auto;.align-self: Υπερκαθορίζει την τιμή τουalign-itemsγια το συγκεκριμένο στοιχείο. Δυνατές τιμές:auto,stretch,flex-start,flex-end,center,baseline.
Παράδειγμα:
.flex-container {
display: flex; /* Κάνει το στοιχείο flex κοντέινερ */
flex-direction: row; /* Τοποθετεί τα στοιχεία σε σειρά */
justify-content: center; /* Ευθυγραμμίζει τα στοιχεία στο κέντρο του κύριου άξονα */
align-items: center; /* Ευθυγραμμίζει τα στοιχεία στο κέντρο του διασταυρούμενου άξονα */
gap: 10px; /* Ορίζει την απόσταση μεταξύ των στοιχείων */
}
.flex-item {
flex-grow: 1; /* Το στοιχείο μπορεί να μεγαλώσει */
flex-basis: 100px; /* Αρχικό μέγεθος του στοιχείου */
}
.special-item {
order: -1; /* Αυτό το στοιχείο θα τοποθετηθεί πρώτο */
align-self: flex-end; /* Υπερκαθορίζει την ευθυγράμμιση κατά τον διασταυρούμενο άξονα για αυτό το στοιχείο */
}