Προβλήματα πλέγματος με Flex στο CSS
Το πρώτο πρόβλημα του πλέγματος είναι μάλλον προφανές αμέσως
- είναι πολύ άβολο που ο γονέας πρέπει
να ορίσει ρητά το ύψος. Εξάλλου, μπορεί εύκολα
να συμβεί ότι ο αριθμός των μπλοκ θα αλλάζει
δυναμικά και η ποσότητα τους θα είναι μερικές φορές λιγότερη,
μερικές φορές περισσότερη από 9.
Αλλά το δεύτερο πρόβλημα θα προκύψει εάν ο αριθμός των μπλοκ είναι τέτοιος που η τελευταία σειρά θα έχει ανεπαρκές αριθμό μπλοκ. Σε αυτήν την περίπτωση η τελευταία σειρά θα φαίνεται απαίσια:
<div class="parent">
<div class="child">1</div>
<div class="child">2</div>
<div class="child">3</div>
<div class="child">4</div>
<div class="child">5</div>
<div class="child">6</div>
<div class="child">7</div>
<div class="child">8</div>
</div>
.parent {
display: flex;
flex-direction: row;
justify-content: space-between;
flex-wrap: wrap;
width: 320px;
border: 1px solid red;
}
.child {
box-sizing: border-box;
width: 100px;
height: 100px;
border: 1px solid green;
}
:
Αποδεικνύεται ότι ακόμη και οριζόντια η τιμή
space-between λειτουργεί κακώς στην περίπτωσή
μας.
Συνοψίζοντας: εάν ο αριθμός των παιδιών σας
είναι πάντα σταθερός και χωράει κανονικά
στον γονέα, τότε το πλέγμα με space-between
είναι ένα αρκετά βολικό πράγμα. Διαφορετικά
θα πρέπει να σκεφτούμε κάτι άλλο.
Δίνονται 12 στοιχεία. Δημιουργήστε από αυτά
ένα πλέγμα με 4 στοιχεία ανά σειρά με πλάτος
κάθε στοιχείου 100px και απόσταση
μεταξύ τους 20px.
Δίνονται 12 στοιχεία. Δημιουργήστε από αυτά
ένα πλέγμα με 3 στοιχεία ανά σειρά με πλάτος
κάθε στοιχείου 150px και απόσταση
μεταξύ τους 10px.