2012-11-09 9 views
5

enter image description here Ho progettato una pagina Web in PSD e sono nel mezzo della conversione. All'interno del mio contenuto principale ho un colore di sfondo solido, ma ho un effetto bagliore su un livello separato che appare sopra il colore di sfondo.Utilizzo di un'immagine di sfondo su un colore di sfondo nei CSS

Ho un contenitore che contiene tutto il codice, ho un header, main e footer. All'interno del main, ho aggiunto il solido colore di sfondo e aggiunto anche l'immagine di sfondo del bagliore che ho tagliato da PSD. Tuttavia, il solido colore di sfondo non sembra mostrare e mostra solo l'effetto bagliore. Immagini qui sotto mostrano quello che sembra e ciò che dovrebbe apparire come:


enter image description here

enter image description here

CSS:

Html { 
background: white; 
} 

#container { 
width: 955px; 
height: 900px; 
margin: 0px auto 0px auto; 
} 

#main{ 
background: url(../images/slogan.png) top left no-repeat; 
background-color: #282d37; 
height: 900px; 
width: 955px; 
} 

risposta

17

È possibile utilizzare più di fondo:

#main { 
    width: 900px; 
    height: 955px; 
    background: url(../images/slogan.png) no-repeat, #282d37; 
}​ 

Per spiegare: utilizzare l'opzione background css, aggiungere prima immagine, di colore di sfondo.

LIVE DEMO

+0

Non funziona su IE7, ma funziona su altri browser. –

0

Provare a sostituire

background: url(../images/slogan.png) top left no-repeat; 
background-color: #282d37; 

Con

background: #282d37 url(../images/slogan.png) no-repeat top left; 
+0

già provato e non ha funzionato :(. Grazie per l'aiuto tho # @ – user1278496

+0

user1278496 Il mio unico altro suggerimento sarebbe stato per impostare il 'background-color' di' # container' invece di '# main' – George

+0

Ho provato anche questo e non ha funzionato - così strano – user1278496

0

Un modo per farlo è avvolgente l'elemento #main con un involucro in cui impostare il colore di sfondo, quindi impostare l'opacità di corrispondenza (se necessario)

#mainwrapper{ 
    background-color: red; 
    height:100px; 
    width:100px; 
} 

#main{ 
    background: url(http://www.w3schools.com/css/klematis.jpg) repeat; 
    opacity: 0.6; 
    filter:alpha(opacity=60); 
    height:100px; 
    width:100px; 
} 

<div id="mainwrapper"> 
    <div id="main"> 
    </div> 
</div> 
+0

Non funziona ma grazie – user1278496

0

Il problema i tuoi stili si annullano a vicenda. È necessario inserire prima lo e utilizzare background-image anziché background. Dichiarare tutti i valori nelle proprie proprietà in modo che la proprietà background non sovrascriva quella .

#main{ 
    background-color: #282d37; 
    background-image: url(../images/slogan.png); 
    background-position: left top; 
    background-repeat: no-repeat; 
    height: 900px; 
    width: 955px; 
}​ 
+0

Grazie per quello. non sembra giusto, ho fatto quello che hai detto, ho rimosso l'immagine di sfondo per vedere se il solido colore di sfondo è ancora lì ed è così. Ho defo set my slogan.png i mg to transparent – user1278496

+0

http://jsfiddle.net/BzHTe/ - Ecco un violino con quel codice esatto che funziona. Ovviamente è un'immagine diversa perché non ho il tuo. Sei sicuro che il PNG sia trasparente? Puoi aggiungere l'immagine qui? –

+0

Questo è esattamente quello che voglio amico! Controlla la mia immagine che ho caricato per favore. In Photoshop, lo ritaglio, il salvataggio per il Web e il salvataggio come un png a 24 bit con "trasparenza" selezionata. E rimosso tutti gli altri livelli in psd prima di salvare per il web – user1278496