La proprietà justify content serve ad allineare i box flessibili sull’asse principale del contenitore, cioè l’asse x se la flex-direction è row, altrimenti l’asse delle y.

Dunque anche questa proprietà si utilizza assieme alla proprietà display:flex, che come spiegato nelle lezioni precedenti serve a rendere il contenitore genitore flessibile.

justify content valori ammissibili

I valori ammissibili per questa proprietà sono: flex-start, flex-end, center, space-between, space-around e space-evenly. Ognuno di questi valori produce allineamenti differenti dei box figli lungo l’asse principale.

Il valore di default è flex-start.

justify content esempi

Iniziamo facendo un semplice esempio di utilizzo di justify-content impostando il valore center che serve ad allineare gli elementi al centro.

Ecco dunque il codice CSS completo:


.container {
     width: 700px;
     margin-top: 20px;
     background-color: #ff00ff;
     display: flex;
     justify-content: center;
  }
.container > div {
     background-color: #eee;
     font-size: 18px;
     text-align: center;
     width: 150px;
     padding: 10px;
     margin: 10px;
}
  <div class="container">
    <div>1-justify-content: center</div>
    <div>2-justify-content: center</div>
    <div>3-justify-content: center</div>
  </div>

L’esempio mostra il risultato, come da figura sotto:

justify content

Come potete notare dalla figura, gli elementi div sono centrati rispetto all’elemento padre.

Adesso cambiamo l’esempio precedente impostando la seguente proprietà:

justify-content: flex-end;

Gli elementi saranno allineati a destra nell’elemento contenitore padre, come da figura sotto.

justify content flex end

In modo analogo, se utilizziamo la proprietà:

justify-content: flex-start;

Gli elementi saranno però allineati a sinistra, che è anche il valore di default, come da figura sotto:

justify content flex start

Molto interessante è l’impostazione:

justify-content: space-between;

In quanto consente di uniformare lo spazio tra gli elementi all’interno del contenitore padre.

Ecco quindi come saranno disposti gli elementi:

space between

Inoltre è possibile utilizzare l’impostazione:

justify-content: space-around;

che consente di avere uno spazio anche dai bordi di destra e sinistra rispetto al contenitore padre, come da immagine sotto.

space around

Infine l’impostazione:

justify-content: space-evenly;

Produce un layout con uno spazio proporzionale tra gli elementi, come da figura sotto:

space evenly

Abbiamo utilizzato la proprietà align-content con i diversi valori per disporre gli elementi sull’asse principale del contenitore padre. Nella prossima lezione vedremo come disporre gli elementi sull’asse perpendicolare utilizzando la proprietà align-items.

Alcuni link utili

Indice tutorial CSS3

Indice tutorial HTML

Fogli di stile interni, esterni ed in linea

Fogli di stile esterni

Selettori

Come impostare le pseudo-classi

Reset CSS

CSS responsive