Att skapa en bild endast för att visa en lutning är oflexibel och blir snabbt en dålig övning. Tyvärr, vid tidpunkten för det här skrivandet, kan de fortfarande mycket väl krävas, men förhoppningsvis inte för mycket längre. Tack vare Firefox och Safari / Chrome kan vi nu skapa kraftfulla gradienter med minimal ansträngning. I denna snabba snabbspets undersöker vi några av skillnaderna i syntax när du arbetar med prefixen -moz och -webkit.
Medan Mozilla och Webkit i allmänhet antar samma syntax för CSS3-egenskaper, är de tyvärr inte helt överens när det gäller gradienter. Webkit var först att omfamna gradienter och använder följande struktur:
/ * Syntax, taget från: http://webkit.org/blog/175/introducing-css-gradients/ * / -webkit-gradient (, [, ]?, [, ]? [, ] *) / * I praktiken ... * / bakgrund: -webkit-gradient (linjär, 0 0, 0 100%, från (röd) till (blå));
Oroa dig inte om dina ögon glansar över den syntaxen; min gjorde också! Observera att vi behöver en kommaseparerad lista över parametrar.
Firefox, som implementerade gradient support med version 3.6, föredrar en något annorlunda syntax.
/ * Syntax, taget från: http://hacks.mozilla.org/2009/11/css-gradients-firefox-36/ * / -moz-linear-gradient ([|| ,]? , [, ] *) / * I praktiken * / bakgrund: -moz-linjär-gradient (topp, röd, blå);
Vad händer om du inte behöver en 100% gradient från en färg till en annan? Det är här färgstoppet kommer i spel. En gemensam designteknik är att tillämpa en kort och subtil gradient, så här:
Notera den subtila vitvit till vit gradient på toppen.I det förflutna var standardimplementet att skapa en bild, ange den som bakgrund av ett element och ställa in det för att upprepa horisontellt. Men med CSS3 är detta en cinch.
bakgrund: vit; / * fallback för äldre / icke-stödda webbläsare * / bakgrund: -moz-linjär-gradient (topp, #dedede, vit 8%); bakgrund: -webkit-gradient (linjär, 0 0, 0 8%, från (#dedede) till (vit)); border-top: 1px solid vit;
Den här gången bestämmer vi gradienten till 8%, snarare än 100%, vilket är standardvärdet. Observera att vi också tillämpar en gränsstopp för att lägga till kontrast detta är mycket vanligt.
Om vi vill lägga till en tredje (eller Nth) färg kan vi göra:
bakgrund: vit; / * fallback för äldre / icke-stödda webbläsare * / bakgrund: -moz-linjär-gradient (topp, #dedede, vit 8%, röd 20%); bakgrund: -webkit-gradient (linjär, 0 0, 0 100%, från (#dedede), färgstopp (8%, vit), färgstopp (20%, röd);
Tack för att du läste / tittade på!