2011-12-13 10 views
6

Questo è il codiceUsare CSS per rendere background-image sopra background-color in un elenco

<ul> 
    <li class="test"> 
     <a href="#"> 
      <h2>Blah</h2> 
      <p>Blah Blah Blah</p> 
     </a> 
    </li> 
</ul> 

In sostanza, la mia lista ha già una certa styling, per esempio, ho impostato il colore di sfondo per esso.

Ora nella classe "test", ho anche impostato un'immagine di sfondo.

La mia domanda è che voglio fare in modo che l'immagine di sfondo rimanga sopra il colore di sfondo e non so come ottenerlo. Ho provato con z-index ma penso che non sia applicabile all'immagine di sfondo.

Si prega di dare un'occhiata alle immagini

Output

Edit: Questo è il codice CSS

Ad esempio, questo è lo stile per la mia lista

#sidebar ul li{ 
    background:#ccf; 
} 

E questo è lo stile per il test di classe

.test{ 
    background-image: url('img/big_tick.png'); 
    background-repeat:no-repeat; 
    background-position: bottom right; 
    -moz-background-size: 30%; 
    -webkit-background-size: 30%; 
    background-size: 30%;  
    margin-right: 30px; 
} 
+1

Ecco una jsfiddle con il suo set up: http://jsfiddle.net/LHmfT/ – piebie

risposta

5

Aggiungere l'attributo !important al numero background-image. Come questo:

.test a{ 
background-image: url('img/big_tick.png') !important; 
background-repeat:no-repeat; 
background-position: bottom right; 
-moz-background-size: 30%; 
-webkit-background-size: 30%; 
background-size: 30%;  
margin-right: 30px; 

}

Ho un esempio violino here

EDIT: ho cambiato la classe per .test a per riflettere lo schema di styling attuale

+0

Ho provato a mettere il! Importante ma rimane ancora dietro il colore di sfondo. @alpa Ho provato a cambiare sfondo in background-color, ma ancora non funziona. Per l'elenco, ho seguito questo tutorial da Nettuts [collegamento] http://net.tutsplus.com/tutorials/html-css-techniques/create-a-sticky-note-effect-in-5-easy- steps-with-css3-and-html5/ Puoi dare un'occhiata al link per saperne di più sul CSS per la lista Grazie per avermi aiutato! – user826224

+0

Che browser stai usando? La bandiera '! Important' funziona sia su Chrome che su IE qui. Se pubblichi più stili per l'elenco, ciò potrebbe essere utile. – piebie

+0

Ciao, sto testando questo su FF 8.0 e Chrome 16, e Im ancora di fronte al problema. Lo stile per la lista è nel link http://net.tutsplus.com/tutorials/html-css-techniques/create-a-sticky-note-effect-in-5-easy-steps-with-css3-and -html5 /. Grazie per avermi aiutato :) – user826224

4

Prova: aggiungendo la specificità alla classe .test: #sidebar ul li.test

O, meglio ancora, se è possibile, aggiungere background-color alla classe .test, e sbarazzarsi del selettore elemento del tutto.

Eviterei di usare! Importante se non ne avete assolutamente bisogno. A lungo termine, usarlo renderà il tuo editing un css un dolore. Invece di usare! Important, suggerisco di conoscere la specificità: http://reference.sitepoint.com/css/inheritancecascade

+0

Cambia semplicemente la posizione dell'immagine di sfondo ma non la mantiene sopra il colore di sfondo – user826224

+0

Prova: aggiunta di specificità alla classe di test: #sidebar ul li.test Oppure, meglio ancora, se è possibile, aggiungi il colore di sfondo alla classe di test e ottieni del rosso del selettore di elementi del tutto. – shaunsantacruz

Problemi correlati