CSS aspect-ratio e object-fit, con selettore del punto focale

Guida a CSS aspect-ratio e object-fit

CSS aspect-ratio e object-fit: demo dal vivo e Tailwind | We.Inc

Blocca i box su una proporzione con aspect-ratio, poi adatta le foto al loro interno con object-fit cover, contain, fill, none o scale-down. Clicca per impostare un punto focale con object-position.

Due proprietà risolvono la maggior parte dei problemi di dimensionamento delle immagini. aspect-ratio: 16 / 9 fa mantenere a un box quella forma a qualsiasi larghezza, sostituendo il vecchio padding-top hack. object-fit decide come un img o un video riempie quel box: cover ritaglia, contain aggiunge bande vuote, fill deforma. object-position sceglie quale parte resta visibile quando cover ritaglia.

Riferimento rapido

Qui sotto, un'immagine di prova sta in un box di cui puoi cambiare la forma. Passa tra i cinque valori di object-fit, clicca l'immagine per spostare il punto focale e copia il CSS o le classi Tailwind. Più in basso: il padding hack accanto ad aspect-ratio, embed video responsive e griglie di card con miniature uniformi.

Domande frequenti

Qual è la differenza tra aspect-ratio e object-fit?

aspect-ratio dà forma al box stesso, per qualsiasi elemento. object-fit si applica solo ai contenuti sostituiti come img, video e canvas, e decide come quel contenuto viene disegnato dentro il suo box. Di solito li usi entrambi: aspect-ratio sull'immagine per fissarne la forma, object-fit: cover perché l'immagine la riempia.

Perché object-fit non fa nulla?

Il box dell'immagine ha la stessa proporzione dell'immagine, quindi non c'è nulla da ritagliare o deformare. object-fit mostra una differenza solo quando il box ha una forma diversa, per esempio un'altezza fissa più width: 100%, o un aspect-ratio diverso da quello del file.

Mi serve ancora il padding-top hack?

Non per i browser attuali. aspect-ratio funziona in Chrome, Edge, Firefox e Safari dal 2021. Tieni l'hack solo se devi supportare browser più vecchi, e controlla caniuse per il tuo pubblico.

object-fit funziona sulle immagini di sfondo?

No. Per gli sfondi CSS gli equivalenti sono background-size: cover o contain, e background-position per il punto focale. object-fit serve per veri elementi img e video, che sono migliori per le immagini di contenuto perché hanno il testo alt e supportano srcset.

Si può usare aspect-ratio su un div?

Sì. Qualsiasi elemento può usarlo. Un div con width: 100% e aspect-ratio: 1 diventa un quadrato che cresce con la sua colonna, utile per segnaposto di mappe, avatar e skeleton loader.

Come il browser risolve aspect-ratio

Scegliere un punto focale

aspect-ratio accanto al padding hack

Prima di aspect-ratio, un box prendeva la sua forma da padding-top in percentuale, perché le percentuali del padding verticale si misurano rispetto alla larghezza. Funziona, ma il contenuto deve essere posizionato in modo assoluto all'interno. Entrambi i box qui sotto sono 16:9.

Vecchio e nuovo, stesso risultato

56.25% è 9 diviso 16. La versione moderna richiede una riga e lascia scorrere il contenuto normalmente.

Tutti e cinque i valori di object-fit sulla stessa foto

L'immagine è 3:2 e ogni box è quadrato, quindi ogni valore deve gestire una differenza di proporzioni e le differenze si vedono chiaramente.

Valori di object-fit

fill, contain, cover, none, scale-down

La stessa immagine 300 per 200 in cinque quadrati da 110 pixel. Osserva il punto rosso: è il soggetto che cover non deve perdere.

Video ed embed responsive

Un iframe in stile YouTube che mantiene il 16:9

Dai all'iframe width 100% e un aspect-ratio. Non servono div contenitori né posizionamento assoluto.

Griglie di card con miniature uniformi

Ogni miniatura con la stessa forma

I caricamenti arrivano in tutte le forme. aspect-ratio più object-fit: cover rende ordinata la griglia senza modificare un solo file.

Classi Tailwind per proporzione e adattamento

Utility di Tailwind v4 (controlla la documentazione v3 se usi una versione precedente)

Area di prova per proporzione, adattamento e punto focale

Immagine sorgente (3:2). Cliccala, oppure portaci il focus e usa i tasti freccia, per impostare il punto focale.

Imposta il punto focale, ora {pos}

Paesaggio di prova con un punto rosso come soggetto

Ripristina al centro

Risultato in un box {ratio} con object-fit: {fit}

Proporzione del box

Il punto focale conta soprattutto con cover e none. Con contain o scale-down decide dove vanno le bande vuote.

Copia CSS

Copia classi

Ti serve la dimensione esatta in pixel per una proporzione? Usa il

calcolatore di proporzioni

Inizia gratis · Nessuna carta di credito richiesta

Correlati: Guide

Prodotto

Per chi è

Funzionalità

Risorse

Azienda

Mappa del sito