2016-02-09 19 views
8

Come posso assegnare un singolo div a più colori di sfondo o immagini in CSS? Ad esempio, voglio che la parte superiore sia rossa, quindi la parte centrale sia blu e quella inferiore sia verde.Più colori di sfondo, immagini in css

+2

Ciao, un'occhiata a questo thread. http://stackoverflow.com/a/6457484/4362192 – cdslijngard

risposta

7

Una singola linear-gradient come sfondo è sufficiente

background: linear-gradient(to bottom, 
    red 0, red 33.33%, 
    blue 0, blue 66.66%, 
    green 0, green 100% 
); 

Example | Browser support

+0

Bello. Puoi spiegare cosa fanno gli 0 senza segni%? –

+1

è come funziona color-stop: quando si imposta un arresto del colore il cui valore è inferiore al colore precedente, si imposta automaticamente sul valore più grande definito in precedenza. Quindi equivale a scrivere 'rosso 0, rosso 33,33%, blu 33,33, blu 66,66%, verde 66,66, verde 100%' ma ci sono meno valori ripetuti (ad es. Se hai cambiato 66,66 con 80% dovresti cambiare il valore due volte) – fcalderan

3

utilizzare gradienti in css3.

YourDIVID { 
    background: red; /* For browsers that do not support gradients */ 
    background: -webkit-linear-gradient(red, yellow, green); /* For Safari 5.1 to 6.0 */ 
    background: -o-linear-gradient(red, yellow, green); /* For Opera 11.1 to 12.0 */ 
    background: -moz-linear-gradient(red, yellow, green); /* For Firefox 3.6 to 15 */ 
    background: linear-gradient(red, yellow, green); /* Standard syntax */ 
} 
2

superiore, inferiore, CENTRO Tutorial colore multiplo per Sigle Linea

#multiple { 
width: 700px; 
height: 500px; 
background:linear-gradient(red, yellow, green, blue, purple, orange); 

}

1

Utilizzare :before and :after pseudo element rules per disporre di tre diversi livelli di sfondo (colore e immagini) su un singolo elemento.

Nota: Questa soluzione richiede che gli elementi contenuti siano avvolti per rimanere sopra gli sfondi. In caso contrario, i collegamenti potrebbero non essere selezionabili, testo non selezionabile, ecc.

Eseguire il frammento di codice per un esempio funzionante.

.layered-backgrounds { 
 
    background-color: #C63; 
 
    background-image: url(https://upload.wikimedia.org/wikipedia/commons/4/47/PNG_transparency_demonstration_1.png); 
 
    background-repeat: no-repeat; 
 
    background-position: center center; 
 
    background-size: cover; 
 
    position: relative; 
 
    height: 400px; 
 
    z-index: 1; 
 
} 
 

 
.layered-backgrounds:before { 
 
    position: absolute; 
 
    content: " "; 
 
    top: 0; 
 
    height: 120px; 
 
    width: 100%; 
 
    background: #39C; 
 
    z-index: 2; 
 
    opacity: 0.8; 
 
} 
 

 
.layered-backgrounds:after { 
 
    position: absolute; 
 
    content: " "; 
 
    bottom: 0; 
 
    height: 120px; 
 
    width: 100%; 
 
    background: #9C3; 
 
    z-index: 3; 
 
    opacity: 0.8; 
 
} 
 

 
.layered-backgrounds .content { 
 
    position: relative; 
 
    z-index: 4; 
 
}
<div class="layered-backgrounds"> 
 
    <div class="content"> 
 
     <a href="#">Clickable</a> and selectable contents. 
 
    </div> 
 
</div>

Problemi correlati