Aggiungere spazio intorno a un'immagine
Ecco come puoi usare CSS e il rapporto di aspetto per centrare e riempire di spazio un’immagine:
- Innanzitutto, devi avvolgere l’immagine in un elemento contenitore, come un
<div>
o una<figure>
. Ciò ti consentirà di applicare stili al contenitore che influenzeranno l’immagine al suo interno. - Imposta la proprietà
position
del contenitore surelative
. Ciò ti consentirà di posizionare l’immagine nel contenitore. - Aggiungi un pseudoelemento
::after
al contenitore. Questo verrà utilizzato per mantenere il rapporto di aspetto dell’immagine e creare il padding. - Imposta la proprietà
content
dell’pseudoelemento::after
su una stringa vuota. Questo è necessario per creare l’elemento. - Imposta la proprietà
padding-bottom
dell’pseudoelemento::after
su un valore percentuale che corrisponde al rapporto di aspetto dell’immagine. Ad esempio, se la tua immagine ha un rapporto di aspetto di 4:3, imposti il padding su75%
(poiché 3/4 = 0.75). Questo creerà il padding sotto l’immagine. - Imposta la proprietà
position
dell’pseudo-elemento::after
suabsolute
. Ciò posizionerà l’elemento all’interno del contenitore. - Imposta le proprietà
top
,left
,bottom
eright
dell’pseudo-elemento::after
su0
. Questo farà sì che l’elemento riempia il contenitore, creando il padding. - Infine, imposta la proprietà
position
dell’immagine stessa suabsolute
. Ciò ti consentirà di centrare l’immagine entro il contenitore utilizzando le proprietàtop
,left
,bottom
eright
.
Ecco un esempio del codice CSS che useresti per centrare e riempire di spazio un’immagine con un rapporto di aspetto di 4:3:
.container {
position: relative;
width: 100%;
}
.container::after {
content: "";
display: block;
padding-bottom: 75%; /* rapporto di aspetto 4:3 */
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
img {
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
margin: auto;
max-width: 100%;
max-height: 100%;
}
In questo esempio, l’elemento .container
è il contenitore dell’immagine. L’pseudo-elemento ::after
viene utilizzato per creare il padding e mantenere il rapporto di aspetto dell’immagine. L’elemento img
viene impostato su position: absolute
in modo che possa essere centrato nel contenitore utilizzando le proprietà top
, left
, bottom
e right
.
Impostando le proprietà max-width
e max-height
dell’immagine su 100%
, l’immagine si adatterà allo spazio disponibile mantenendo il suo rapporto di aspetto. Ciò significa che il padding creato dall’pseudo-elemento ::after
sarà sempre proporzionale alle dimensioni dell’immagine.