A flex elem mérete a főtengely mentén

A width és a height tulajdonságok a flex elem szélességét és magasságát határozzák meg függetlenül a tengelyek irányától. Azaz, ha a tengely vízszintes, akkor a width a szélességet határozza meg, de ha a tengely függőleges, akkor a width továbbra is a szélességet határozza meg. Néha ez a viselkedés nem kényelmes.

A flex modellben létezik egy speciális tulajdonság, a flex-basis, amely az elem méretét határozza meg a főtengely mentén. Ez azt jelenti, hogy ha a főtengely vízszintes - ez a tulajdonság az elemek szélességét határozza meg, ha pedig függőleges - akkor a magasságát. Ezt a tulajdonságot maguknak a flex elemeknek kell megadni, nem a szülőjüknek. Nézzük példákon.

Tegyük fel, hogy a főtengely most vízszintes, és a flex-basis értéke 50px. Ebben az esetben az elemek szélessége 50px lesz:

html<div class="parent">
  <div class="child">1</div>
  <div class="child">2</div>
  <div class="child">3</div>
</div>
css.parent {
  display: flex;
  flex-direction: row; /* tengely vízszintes */
  width: 300px;
  height: 300px;
  border: 1px solid red;
}
.child {
  flex-basis: 50px;   /* elem mérete */
  border: 1px solid green;
}

Результат:

Most fordítsuk meg a tengelyt anélkül, hogy megváltoztatnánk a flex-basis tulajdonság értékét. Ebben az esetben már az elemek magassága lesz 50px:

html<div class="parent">
  <div class="child">1</div>
  <div class="child">2</div>
  <div class="child">3</div>
</div>
css.parent {
  display: flex;
  flex-direction: column; /* tengely függőleges */
  width: 300px;
  height: 300px;
  border: 1px solid red;
}
.child {
  flex-basis: 50px;
  border: 1px solid green;
}

Результат:

Задание 1

Készítsen 5 flex elemet. Adjon meg nekik 100px szélességet a főtengely mentén. Figyelje meg az elemek viselkedését különböző tengelyek mentén.

Задание 2

Ha a tengely vízszintes és az elemnek meg van adva a flex-basis tulajdonság és egyszerre a width tulajdonság is, akkor a flex-basis lesz elsődleges. Ellenőrizze ezt.

Задание 3

Ha a tengely függőleges és az elemnek meg van adva a flex-basis tulajdonság és egyszerre a height tulajdonság is, akkor a flex-basis lesz elsődleges. Ellenőrizze ezt.