Browser, die mehrere Hintergründe unterstützen (WebKit seit den Anfängen, Firefox 3+), verwenden eine Syntax wie diese
#box {
background:
url(icon.png) top left no-repeat,
url(texture.jpg),
url(top-edge.png) top left repeat-y;
}
Es handelt sich um durch Kommas getrennte Werte, und es können beliebig viele mit unterschiedlichen URLs, Positionierungen und Wiederholungswerten sein. Sie können sogar WebKit-Verläufe in die Mischung einbeziehen
#box {
background:
url(../images/arrow.png) 15px center no-repeat,
-webkit-gradient(linear,left top,left bottom,color-stop(0, #010101),color-stop(1, #181818));
}
Das alte IE auf dem Mac zeigte den ersten Hintergrund in der Liste an, aber andere Browser, die es nicht unterstützen, versagen komplett und zeigen keinen Hintergrund an. Das macht es schwierig für progressive Enhancement. Das heißt, es sei denn, Sie verwenden ein Tool wie Modernizr, um die Unterstützung dafür zu erkennen und einen Fallback-Selektor zu schreiben, der nur einen Hintergrund für Browser deklariert, die ihn nicht unterstützen.
Wow! Das wusste ich nicht und das ist großartig!
Es ist erwähnenswert, dass die Reihenfolge wichtig zu sein scheint.
Wenn Sie ein sich wiederholendes Bild als Hintergrund und ein einzelnes Bild, das sich nicht wiederholt, haben, dann muss das sich wiederholende Bild zuletzt kommen, sonst liegt es über dem einzelnen Bild.
Zum Beispiel
#box {
background
url(singlecornerbackground.png) no-repeat 0 0,
url(repeatingbackground.jpg) repeat 0 0;
}
Zumindest in Firefox 3.6. Derzeit nicht in anderen Browsern getestet.
Hallo, ich habe das eine Weile benutzt, bis ich bemerkte, dass es in IE nicht unterstützt wird, es zeigt kein Bild an
background-image: url(‘images/skin.png’), url(images/skin2.png);
background-position: center top;
Hintergrundfarbe: transparent;
background-attachment: fixed;
background-repeat: no-repeat, repeat;
Haben Sie jemals eine IE-Korrektur gesehen?
IE ist Mist. Sie müssen etwas wie modernizr verwenden, um die unterstützte Funktionalität des Browsers zu erkennen, und bedingte Stile für diejenigen haben, die es nicht unterstützen. Sie können auch versuchen, dies einzubinden http://rafael.adm.br/css_browser_selector/, was ziemlich cool ist und es Ihnen ermöglicht, CSS für bestimmte Browser zu schreiben.
Chris… Wenn du ein Mädchen wärst, würde ich dich küssen!!! Ich habe ewig gebraucht, um das hier herauszufinden :)
@David
Vielen Dank für den Link, sehr hilfreich!
Bitte teilen Sie ein Live-Beispiel!
Dies könnte auch hilfreich sein für jeden, der einen benutzerdefinierten Rahmen um variable Inhaltsgrößen mit mehreren Hintergründen legen möchte…
Benutzerdefinierter Rahmen JSFiddle-Beispiel