Hintergrund-Verläufe mit CSS3

CSS3 Hintergrund Verläufe

Um einen Hintergrund-Verlauf (gra­dient) mit CSS3 umzu­setzen, musst du der­zeit für Webkit (Safari, Chrome) und Mozilla (Firefox) noch unter­schied­li­chen CSS-Code nutzen. Da Internet Explorer und Opera der­zeit leider noch keine CSS3 Verläufe unter­stützen, kannst du für diese Browser ent­weder eine alter­na­tive Hintergrund-Farbe wählen, oder wie gewohnt ein JPG-Image als Verlauf ein­setzen.

CSS3-Verlauf für Safari, Google Chrome (Webkit)

Hintergrund-Verläufe mit CSS3

Der CSS-Code für dieses Beispiel sieht so aus:

background: -webkit-gradient(linear, 0 0, 0 100%, from(#FF9900), to(#99FFCC));

Erklärung:
Als ersten Wert gibst du an, ob der Verlauf linear oder radial sein soll. Dann folgen die x- und y-Koordinaten für die Anfangsposition des Verlaufs (0, 0 also links oben). Danach gibst du die x- und y-Koordinaten für die Endposition des Verlaufs an (0, 100%, also links unten). Als nächstes gibst du die Farben des Verlaufs an, also von orange zu Türkis (from(#FF9900), to(#99FFCC)).

Firefox Browser (Mozilla)

Hintergrund-Verläufe mit CSS3

Der Code für dieses Beispiel sieht so aus:

background: -moz-linear-gradient(top, #00CCCC, #00FF99);

Erklärung:
Die Art des Verlaufs (linear oder radial) wird bereits im Wert selbst fest­ge­legt (moz-linear-gradient). Erster Wert ist die Position für den Beginn des Verlaufs (hier: top). Dann folgt die erster Farbe (#00CCCC) gefolgt von der zweiten Farbe (#00FF99).

Weitere Optionen

Natürlich kannst du den Verlauf auch nur bis zu einem bestimmten Punkt laufen lassen.

Hintergrund-Verläufe mit CSS3

Der Code für dieses Beispiel sieht so aus:

background: #CCFFCC; /*alternative Hintergrundfarbe für IE*/
background: -webkit-gradient(linear, 0 0, 0 20%, from(#CCFF66), to(#fff));
background: -moz-linear-gradient(top, #CCFF66, #fff 20%);

Willst du einen mehr­far­bigen Verlauf erstellen, nutzt du die Funktion Color-Stop:

Hintergrund-Verläufe mit CSS3

Der Code sieht dann so aus:

background:#CCFFCC; /*alternative Hintergrundfarbe für IE*/
background: -webkit-gradient(linear, 0 0, 0 100%, from(#CCFF66), color-stop(20%, white), color-stop(60%, yellow));
background: -moz-linear-gradient(top, #CCFF66, white 20%, yellow 60%);

Für Mozilla gibst du an, dass du bei 20% des Verlaufs bei Weiß ange­kommen sein willst. Für Webkit nutzt du einen zweiten color-stop und legen fest, bei wie viel Prozent welche Farbe erscheinen soll.

Wie du siehst kannst du mit CSS3 gra­di­ents schnell wun­der­schöne Verläufe erzeugen. Für ältere Browser-Versionen, sowie IE6, 7, 8 und Opera kannst du, falls der Verlauf für das Design nicht unbe­dingt not­wendig ist, eine alter­na­tive Hintergrund-Farbe wählen. So kannst du das Laden eines extra Bildes vermeiden.

Ich hoffe dir hat mein kleiner Beitrag über CSS3-Verläufe gefallen :-)

Was denkst du über den Einsatz von CSS3? Würdest du die neuen CSS3-Methoden bereits ein­setzen, und in Kauf nehmen, dass deine Seite nicht in allen Browsern gleich aus­sieht. Oder denkst du es ist sinn­voller abzu­warten, bis wirk­lich alle Browser CSS3 unterstützen?

Deine Meinung zum Thema inter­es­siert mich sehr. Schreibe mir doch ein­fach einen Kommentar!

15 Kommentare

  1. Ellen

    @Webstandard-Blog: Vielen Dank für deinen Kommentar und den Hinweis bzgl. der Microsoft-Filter. Mhhh, immer dieser IE ;-)

    Gruß
    Ellen

  2. Heike

    Hallo Ellen, sehr schön, dein kleines Tutorial. Selber setze ich CSS3 auch um. Allerdings nur dort, wo es »schmü­ckenden« Charakter hat. Denn Webseiten sollten vor­rangig infor­mativ und dann noch ver­nünftig benutzbar sein.
    Ich finde es sehr span­nend, was man mit CSS3 und nur ein paar kleinen Zeilen Code alles machen kann. Erspart es doch einiges an Grafiklast! Und Spaß macht es oben­drein!
    Kreative Grüße aus Vorarlberg
    Heike

  3. Ellen

    @Heike: Vielen Dank für dein Feedback :-)

    Ich finde du hast recht, der­zeit macht ein groß­flä­chiger Einsatz von CSS3-Techniken noch nicht sehr viel Sinn, da man immer auf die ver­schie­denen Browser ein­gehen muss. Aber man muss ja schon einmal für die Zukunft üben ;-)

    Das Webdesign durch CSS3 so viel prak­ti­scher wird, finde ich auch genial :-)

    Viele Grüße
    Ellen

  4. Andreas Rauscher

    WOW kannte ich noch nicht, wahr­schein­lich weil es für mich als Entwickler und Designer noch keine Relevanz hat weil es ja noch nicht im IE/Safari funktioniert…

    3-5 Jahre dann wird man es vie­leicht benützen können (solange wird denke ich der IE8 noch in der Benutzung sein )

    Aber man kann ja schon mal üben :D

  5. Ellen

    @Andreas: Vielen Dank für deinen Kommentar und dein Feedback zu den CSS3-Verläufen. Ich denke eben­falls, dass es sinn­voll ist die neuen CSS-Techniken im Auge zu behalten bzw. zu testen. Und hier und da kann man sie auch bestimmt schon einsetzen.

    Oh je, 3-5 Jahre, hof­fent­lich geht das ein biss­chen schneller ;-) Der neue IE9 soll ja anschei­nend nicht übel werden. Ich habe neu­lich einen Artikel dar­über gelesen. Weisst du even­tuell mehr darüber?

    Viele Grüße
    Ellen

  6. Patrick

    Ich habe ein kleines Problem mit dem gra­dient: Er geht nur bis zum Ende des letzten div-Elements, dann wie­der­holt er sich (vertikal).

    Wie kann ich den gra­dient über die ganze Seite laufen lassen?

  7. Ellen

    @Patrick: Vielen Dank für deinen Kommentar :-)

    Willst du den Gradient als Hintergrund ein­fügen, gibst du am besten dem body-tag den ent­spre­chenden Gradient CSS-Wert. Dann sollte der Verlauf eigent­lich über deine gesamte Seite gehen.

    Falls es nicht klappt, kannst du mir auch gerne einen Link zu deiner Seite schicken.

    Viel Erfolg mit deinem Verlauf :-)
    Gruß
    Ellen

  8. Blackstreet21

    Hi,
    cool das es so was gibt. Dachte das würde per CSS nicht gehen. Wie ich sehe doch. So kann man seine Internetseiten aufwerten.

    Super erklärt Ellen
    Jetzt bin ich wieder etwas schlauer.

    Wenn ich noch was hinzu fügen darf: man kann die Verläufe auch um 45° kippen.

    Also von Links oben nach rechts unten.

    ein­fach ein -45deg ein­fügen
    Zum Beispiel so:

    back­ground: -moz-repeating-linear-gradient( -45deg, black 0, light­blue 10% );

  9. Rob

    Hallo :-)

    Ich habe gerade heute mein erstes CSS3 laxout gebas­telt und bin kom­plett ohne Grafiken ausgekommen :-)

    Ich finde es irre und ich werde es, für meine pri­vate Seiten, sicher­lich immmer wieder einsetzen.

    Internet Exploder Users sind dann selbst schuld.

    Klasse Tutorial und ich werde diese Seite sicher abspei­chern in meinem CSS3 Ordner in Firefox!

    Einen Gruß aus dem ver­reg­neten Berlin,

    Rob

  10. Peter

    Hallo Ellen,

    auch ich würde gern einen Tipp von Dir erhalten. Ein Farbverlauf als Seitenhintergrund wird bei mir zwar ange­zeigt. Wenn das Browserfenster aber höher als die Höhe des darin ent­hal­tenen Seiteninhalts ist, wird der Farbverlauf immer nur bis zum Ende des Seiteninhalts ange­zeigt. Gibt’s da evtl. einen Parameter, dass der Farbverlauf _immer_ das volle Browserfenster ausfüllt?

    Viele Grüße + schon mal Danke :-)
    Peter

  11. Peter

    Hallo Ellen,

    ich konnte lange nicht her­aus­finden, warum ein Hintergrund-Farbverlauf nicht über die volle Fensterhöhe geht, wenn der Seiteninhalt das Fenster nicht voll­ständig aus­füllt. Darum hatte ich Dir heute geschrieben.
    Und dann kam es so wie bei der Waschmaschine, die plötz­lich wieder funk­tio­niert, wenn der Monteur daneben steht…

    Heute Abend fand ich die Lösung: Ich brauche nur fol­gende Zeile im CSS-Script hin­zu­zu­fügen:
    background-attachment: fixed;
    Ich dachte immer, das braucht man nur bei Hintergrund-Bildern, aber es funktioniert! :-)

    Herzliche Grüße + wei­terhin viel Erfolg mit Deiner gut gemachten Seite!
    Peter

  12. André

    Hallo Ellen,
    Sehr schöne Beispiele!!
    Toll wäre außerdem eine Beispielwebseite in die diese ein­ge­bunden sind.
    Wenn ich das Firefox Beispiel ver­wende und die Styles dem body zuweise, dann wie­der­holt sich der Farbverlauf die ganze Zeit.
    Hier der Code:

    body{
    back­ground: -moz-linear-gradient(top, #00CCCC, #00FF99);
    }

    hallo Welt!

    Vielen Dank im vorraus!

  13. André

    Hab gerade noch mal Peters Eintrag gelesen. Nachdem
    background-attachment: fixed;
    ein­ge­fügt wird, klappts auch bei mir!
    Nun wie­der­holt sich der Farbverlauf nicht mehr!

Hinterlasse eine Antwort

Pflichtfelder sind mit * markiert.

*


Top