Homepage » Coding » 6 trucchi CSS per allineare il contenuto verticalmente

    6 trucchi CSS per allineare il contenuto verticalmente

    Parliamo dell'allineamento verticale nei CSS, o per essere più precisi su come non sia fattibile. Il CSS non ha ancora fornito un modo ufficiale per centrare il contenuto verticalmente all'interno del suo contenitore. È un problema che probabilmente ha frustrato gli sviluppatori web ovunque. Ma non temere, in questo post, correremo alcuni trucchi che possono aiutarti imitare l'effetto.

    Questi trucchi possono tuttavia avere limitazioni e potrebbe essere necessario usa più di un trucco per completare l'illusione. Se conosci qualche altro trucco, faccelo sapere nei commenti.

    1. Usa il posizionamento assoluto

    Il primo trucco che vedremo qui usa il posizione proprietà. Ne hai due

    , uno è il contenitore, l'altro, l'elemento figlio che contiene il contenuto.

    Prima imposteremo la posizione dell'elemento contenitore in relativa, quindi imposteremo la posizione dell'elemento figlio su assoluto. Questo ci permette di posizionarlo liberamente attraverso il contenitore.

    Per allinearlo verticalmente, sposta la posizione dell'elemento figlio dall'alto, metà dell'altezza del contenitore e tiralo verso l'alto della metà della larghezza dell'elemento figlio. Ecco l'output:

    Questo trucco è perfetto quando c'è un solo elemento figlio, altrimenti il assoluto la posizione influenzerà l'altro elemento all'interno dello stesso contenitore.

    2. Usa Trasformazione CSS3

    Trasformazione CSS3 ha reso facile mettere il contenuto al centro. Trasformazione CSS3, a differenza del posizione proprietà, non influenzerà la posizione di altri elementi all'interno dello stesso contenitore.

    Supponendo che abbiamo la stessa struttura HTML del metodo precedente: un genitore, un elemento figlio - 50% dall'alto e usando la trasformazione CSS si ottiene una traduzione di -50%. E il gioco è fatto.

    Tieni presente però che le Trasformazioni CSS3 non funzioneranno in Internet Explorer 8 e versioni precedenti. Potresti voler utilizzare uno qualsiasi degli altri metodi qui come riserva.

    3. Usa il riempimento

    Possiamo anche usare imbottitura per creare un'illusione di allineamento verticale. Per fare ciò, è sufficiente impostare il pad superiore e quello inferiore ugualmente, come segue:

    Questo trucco è adatto per quando non si imposta il contenitore in una larghezza fissa, basta impostare la larghezza su auto.

    4. Usa l'altezza della linea

    Se si dispone di una sola riga di contenuto testuale all'interno di un contenitore, è possibile allineare il testo verticalmente utilizzando il altezza della linea proprietà. Impostare il altezza della linea valore per circa lo stesso dell'altezza del contenitore, e vedrete il seguente output.

    Ricorda che questo trucco funziona solo con una singola riga di testo. Se il contenuto si rompe in due o più righe, lo spazio tra ogni riga sarebbe come specificato in altezza della linea, dandoci troppo spazio bianco.

    5. Usa la tabella CSS

    Personalmente, l'uso di CSS Table è il mio trucco preferito per applicare l'allineamento verticale. Funziona con i vecchi browser come Internet Explorer 8. Questo metodo si esegue impostando la visualizzazione dell'elemento contenitore tavolo, mentre l'elemento figlio deve essere visualizzato come table-cell quindi utilizzare il vertical-align proprietà per centrare il testo verticalmente.

    6. Usa Flexbox

    L'ultimo metodo per centrare verticalmente è usando Flexbox. Flexbox è un nuovo modulo in CSS3. Offre un metodo più semplice per allineare il contenuto. Per centrare il contenuto verticalmente in una casella flessibile, è sufficiente aggiungere align-items: center; come segue, e questo è tutto.

    Tieni presente che alcuni browser Flexbox supportano solo funzionalità parziali del modulo Flexbox come Internet Explorer 10, Safari, 6 e Chrome 27 e versioni successive. Quindi, simile al trucco con CSS3 Transform, assicurati che l'effetto cada bene in questi browser.