Adatta l'immagine di sfondo al div


334

Ho un'immagine di sfondo nel seguente div, ma l'immagine viene tagliata:

 <div style='text-align:center;background-image: url(/media/img_1_bg.jpg);background-repeat:no-repeat;width:450px;height:900px;' id="mainpage" align="center">

C'è un modo per mostrare l'immagine di sfondo senza tagliarla?


L'immagine è più grande del div?
GRC,

1
sì, l'immagine è più grande del div
Rajeev,

1
background-image: url (/media/img_1_bg.jpg); dimensione dello sfondo: contenere; background-repeat: no-repeat;
Waruna Manjula,

Risposte:



119

Se ciò di cui hai bisogno è che l'immagine abbia le stesse dimensioni del div, penso che questa sia la soluzione più elegante:

background-size: 100% 100%;

In caso contrario, la risposta di @grc è la più appropriata.

Fonte: http://www.w3schools.com/cssref/css3_pr_background-size.asp


Alla fine ho trovato la soluzione per adattare l'intero div allo sfondo. Grazie!
Kamil Rykowski il

5
ma questo allungherebbe l'immagine ... c'è un modo per adattare l'immagine di sfondo senza allungarla?
Junaid,

1
Le proporzioni sono comunque perse.
Studente

@Learner Se si modificano le dimensioni di un'immagine senza ritagliare l'immagine, le proporzioni andranno perse il 99% delle volte. È buon senso.
Vaibhav Vishal,

11

Puoi usare questi attributi:

background-size: contain;
background-repeat: no-repeat;

e il tuo codice è quindi così:

 <div style="text-align:center;background-image: url(/media/img_1_bg.jpg); background-size: contain;
background-repeat: no-repeat;" id="mainpage">

8

usi anche questo:

background-size:contain;
height: 0;
width: 100%;
padding-top: 66,64%; 

Non conosco i tuoi valori div, ma supponiamo che tu li abbia.

height: auto;
max-width: 600px;

Ancora una volta, quelli sono solo numeri casuali. Potrebbe essere difficile creare l'immagine di sfondo (se lo si desidera) con una larghezza fissa per il div, quindi utilizzare meglio la larghezza massima. E in realtà non è complicato riempire un div con un'immagine di sfondo, assicurati solo di modellare l'elemento genitore nel modo giusto, quindi l'immagine ha un posto in cui può andare.

Chris


Link a una risposta molto votata che parla di questa soluzione in modo più dettagliato: stackoverflow.com/questions/600743/… e ti mostra come calcolare il padding-top.
John Lee,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.