Zu den neuen Möglichkeiten, die CSS 3 bietet, gehören auch Farbverläufe. Man setzt sie ja gerne als Hintergrund ein, um mehr Tiefe zu gewinnen oder besonders seit dem Web 2.0-Hype auch als feines Design bei Schaltflächen und Formularelementen.
Bisher wurden Farbverläufe meist mit einer entsprechenden Grafik realisiert, die den Elementen als Hintergrund zugewiesen wurde. Das ist nun mit CSS 3 wesentlich leichter zu machen – und man braucht kein Grafikprogramm mehr, um den Verlauf zu erzeugen und als Bild zu speichern. Der gewünschte Verlauf wird mit CSS 3 einfach definiert.
Um einen linearen Farbverlauf von oben nach unten und zum Beispiel von rot nach weiß zu erzeugen, brauchen Sie folgende Definitionen in Ihrem Stylesheet:
background: #f00;
background: -moz-linear-gradient(top, #f00, #fff);
background: -webkit-gradient(linear, left top, left bottom, from(#f00), to(#fff));
Im Beispiel ist die erste Zeile ein einfaches Fallback auf rot, das jeder Browser beherrscht. Die zweite Zeile definiert den Verlauf für den aktuellen Firefox und die dritte für Safari und Chrome. Dem Internet Explorer muss man dabei noch mit einem Gradienten-Filter unter die Arme greifen, damit auch er den Verlauf ohne Grafikbildchen erzeugen kann:
-ms-filter: „progid:DXImageTransform.Microsoft.gradient(startColorstr= #ffff0000, endColorstr= #ffffffff)“;
filter: „progid:DXImageTransform.Microsoft.gradient(startColorstr= #ffff0000, endColorstr= #ffffffff)“;
Oha, hab folgendes probiert, aber außer einem gelben Balken und im Safari sogar garnichts, bekomme ich nichts angezeigt. Zudem haben Sie einen Schreibfehler in den IE Anweisungen. HEX-Farben haben nur 6 Stellen! Also nicht 4xf und 4×0 sondern alles nur 3x oder eben in Kurzschreibweise.
Liegt das am Doctype, das es bei mir nicht funktioniert?
Hier der Header meiner Seite:
Extrapolice24
Logo
Header
Die Design-Möglichkeiten von CSS 3 sind wirklich traumhaft. Mit aktuellem Firefox oder Chrome kann man auf Metal Musik Reviews ein Beispiel der praktischen Anwendung von CSS 3 sehen. Runde Ecken, Transparenzeffekte, Farbverläufe, Schatten, CSS3-Buttons. Besucher mit dem Internet Explorer bekommen eine abgespeckte Version. Die intelligente Fallback-Variante von Artikel oben wird allerdings nicht eingesetzt.
Hallo Frank, das ist kein Fehler. In diesem Attribut der Transformation wird vor den Farben der Alpha-Kanal-Wert angegeben, der auch variabel ist. Die Werte sind „AARRGGBB“ für A=Alpha, R=Rot, G=Grün und B=Blau. Deshalb sind das korrekterweise vier Bytes und nicht nur drei. Der Header sollte natürlich HTML5-spezifisch sein.
Gruß Klaus
Website…
Farbverlauf mit CSS 3 » Verlauf, Zeile, Beispiel, Colorstr=, progidDXImageTransformMicrosoftgradientstart, Farbverläufe » homepage-anleitung.de…
Allerdings sind noch 2 kleine Fehler in den Angaben:
background: #f00 –> Strichpunkt fehlt
background: -moz-linear-gradient(top, #f00, #fff);
background: -webkit-gradient(linear, left top, left bottom, from(#f00), to(#fff); –> hier fehlt eine schließende Klammer.
(Nur für die C&P Kandidate, die sich wundern, warum FF und Safari komische Sachen machen 😉
Gruß bastian
Der Artikel ist schon ein Jahr alt, mit der Zeit tritt immer Schwund auf! 😉 Spass beiseite, Du hast natürlich Recht, ich hab das korrigiert. Danke für den Hinweis.
Kann das sein das man das nicht direkt im Body anwenden kann???
Hey leuts,
da ist immer noch ein Fehler 😉 und zwar in der Zeile bei den Filtern, das Leerzeichen muss raus bei („…gradient(start Colorstr= #ffff0000,…“) <— zwischen startColorstr
sonst gehts nicht bzw. zeigt er natürlich falsche farben an 😉
lg. souln
Hallo in die Runde,
ich hab‘ in meinem HomePage-Entwurf nun Verläufe entsprechend dem Code oben eingesetzt.
Bei FireFox konnte ich einen horizontalen Verlauf mit 3 Farben umsetzten (background: -moz-linear-gradient(left, #0B4C5F, #E6E6E6, #0B4C5F);). Funktioniert auch.
Leider bekomme ich das mit dem Code für Safari und Chrome nicht auf die Reihe (bin ja auch noch Beginner in HTML&CSS).
Kann mir jemand helfen, wie ich dies entsprechend umsetzen kann?
Ich möchte horizontal (v. links nach rechts) von Farbe a, über Farbe b wieder nach Farbe a überblenden. Wie muss ich nun den Code ändern? Ist dies mit dem Code für Safari und Chrome überhaupt möglich (ich hab‘ schon einige Varianten ausprobiert, jedoch leider alle ohne Erfolg [mir leuchten die Angaben für „horizontal/vertical“ „linear, left top, left bottom, from(#E6E6E6), to(#0B4C5F)“ nicht ein])?
Vielen Dank schon mal für Eure Unterstützung, ;o)
‚bin schon super gespannt auf Lösungen,
Grüße, BKD