Προβλήματα πλέγματος με Flex στο CSS

Το πρώτο πρόβλημα του πλέγματος είναι μάλλον προφανές αμέσως - είναι πολύ άβολο που ο γονέας πρέπει να ορίσει ρητά το ύψος. Εξάλλου, μπορεί εύκολα να συμβεί ότι ο αριθμός των μπλοκ θα αλλάζει δυναμικά και η ποσότητα τους θα είναι μερικές φορές λιγότερη, μερικές φορές περισσότερη από 9.

Αλλά το δεύτερο πρόβλημα θα προκύψει εάν ο αριθμός των μπλοκ είναι τέτοιος που η τελευταία σειρά θα έχει ανεπαρκές αριθμό μπλοκ. Σε αυτήν την περίπτωση η τελευταία σειρά θα φαίνεται απαίσια:

html<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>
css.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 είναι ένα αρκετά βολικό πράγμα. Διαφορετικά θα πρέπει να σκεφτούμε κάτι άλλο.

Задание 1

Δίνονται 12 στοιχεία. Δημιουργήστε από αυτά ένα πλέγμα με 4 στοιχεία ανά σειρά με πλάτος κάθε στοιχείου 100px και απόσταση μεταξύ τους 20px.

Задание 2

Δίνονται 12 στοιχεία. Δημιουργήστε από αυτά ένα πλέγμα με 3 στοιχεία ανά σειρά με πλάτος κάθε στοιχείου 150px και απόσταση μεταξύ τους 10px.