2014-10-04 5 views
7

Problem:Mehrere vertikale Hintergrundfarben in CSS3

Der Versuch, eine Lösung zu schaffen, die mir fünf mehrere Hintergrundfarben erlauben würde, haben, die eine Webseite unabhängig von Breite ausfüllen. Ich habe es geschafft, dies mit 5 div Tags zu tun, aber ich frage mich, ob es möglich ist, dies komplett mit CSS3 zu tun?

Das Resultat, das ich möchte, ist:

enter image description here

Ich habe gesucht und Stackoverflow im Internet ohne Erfolg, oder ich bin einfach sehr schlecht zu suchen.

+1

http://www.colorzilla.com/gradient-editor/ – loveNoHate

+2

siehe http://stackoverflow.com/questions/6457406/can-i-apply-multiple-background-colors-with-css3 – dotfreelancer

+1

Verwenden Sie unbedingt einen Farbverlauf. – webinista

Antwort

11

Sie könnten linear-gradients verwenden, um dies zu erreichen.

Example Here

html, body { 
    height: 100%; 
} 
body { 
    background-image: linear-gradient(90deg, 
     #F6D6A8 20%, 
     #F5BA55 20%, #F5BA55 40%, 
     #F09741 40%, #F09741 60%, 
     #327AB2 60%, #327AB2 80%, 
     #3A94F6 80%); 
} 

Nur Anbieter Präfixe für zusätzliche Browser-Unterstützung

body { 
    background: -moz-linear-gradient(90deg, #F6D6A8 20%, #F5BA55 20%, #F5BA55 40%, #F09741 40%, #F09741 60%, #327AB2 60%, #327AB2 80%, #3A94F6 80%); 
    background: -webkit-linear-gradient(90deg, #F6D6A8 20%, #F5BA55 20%, #F5BA55 40%, #F09741 40%, #F09741 60%, #327AB2 60%, #327AB2 80%, #3A94F6 80%); 
    background: linear-gradient(90deg, #F6D6A8 20%, #F5BA55 20%, #F5BA55 40%, #F09741 40%, #F09741 60%, #327AB2 60%, #327AB2 80%, #3A94F6 80%); 
} 

Browser-Unterstützung gefunden werden kann here hinzufügen.

+2

Gut eins, deins ist viel besser als meins.Voted! –

+0

Scheint ohne 'html, body {height: 100%; } 'auch. [Geige] (http://jsfiddle.net/s3vxknbd/5/) – webinista

+0

@webinista Ja, du hast recht, es wird in den meisten Fällen funktionieren, aber schau dir an, was passiert, wenn du 'margin: 0' zum' 'hinzufügst Körperelement. [(Beispiel)] (http://jsfiddle.net/qb04zz1o/). 'Html, body {height: 100%; } 'deckt die meisten Anwendungsfälle ab, [siehe] (http://jsfiddle.net/56phkasu/) –

5

Schau dir das an, ich habe einen Trick dafür gemacht. http://jsfiddle.net/753gugpt/

I verwendet linear-gradient CSS3-Eigenschaft wie folgt aus:

#container { 
 
    width: 100%; 
 
    /*or 900px for example */ 
 
    overflow-x: hidden; 
 
} 
 
#exampleB { 
 
    width: 32700px; 
 
    height: 285px; 
 
    background-color: #a8e9ff; 
 
    filter: progid: DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr=#a8e9ff, endColorstr=#052afc); 
 
    background-image: -moz-linear-gradient(left, #a8e9ff 0%, #052afc 0%, #485e69 12%, #ff8d00 1%); 
 
    background-image: linear-gradient(left, #a8e9ff 0%, #052afc 0%, #485e69 12%, #ff8d00 1%); 
 
    background-image: -webkit-linear-gradient(left, #a8e9ff 0%, #052afc 0%, #485e69 12%, #ff8d00 1%); 
 
    background-image: -o-linear-gradient(left, #a8e9ff 0%, #052afc 0%, #485e69 12%, #ff8d00 1%); 
 
    background-image: -ms-linear-gradient(left, #a8e9ff 0%, #052afc 0%, #485e69 12%, #ff8d00 1%); 
 
    background-image: -webkit-gradient(linear, left bottom, right bottom, color-stop(0%, #a8e9ff), color-stop(0%, #052afc), color-stop(12%, #485e69), color-stop(1%, #ff8d00)); 
 
}
<div id="container"> 
 
    <div id="exampleB"></div> 
 
</div>

Vielleicht wird dies für Sie arbeiten :)

+0

Wie ich schon sagte @Josh Croziers Lösung ist viel besser als meine. Aber es funktioniert immer noch auf eine Art! :) Vielen Dank! –

Verwandte Themen