Homepage » Coding » CSS3 lineáris gradiensek [CSS3 tippek]

    CSS3 lineáris gradiensek [CSS3 tippek]

    Gradiens A CSS3 egy nagyszerű színtulajdonság. Ahelyett, hogy csak egy színt szeretne hozzáadni, egy deklarációs blokkban több színkombinációt adhatunk anélkül, hogy a képekre támaszkodnánk, ami csökkentheti a HTTP-kérést weboldalunkon, amely lehetővé teszi a webhely gyorsabb betöltését.

    Ha a CSS3 színátmeneteivel játszott, valószínűleg ismeri a két módszert: radiális és lineáris gradiens. A mai hozzászólás az utóbbiakról szól.

    Színátmenetek létrehozása

    Mivel a CSS3-ban a spec-gradiensek egy kép, nem rendelkezik olyan különleges tulajdonsággal, mint a többi új funkció hozzáadása, így azt a háttérkép tulajdonság helyett.

    Ha megnézzük a színátmenet teljes szintaxisát, egy kicsit néz ki tömött, ami néhány ember számára zavart okozhat.

     div háttérkép: -webkit-lineáris gradiens (felső, # FF5A00 0%, # FFAE00 100%); háttérkép: -moz-lineáris gradiens (felső, # FF5A00 0%, # FFAE00 100%); háttérkép: -ms-lineáris gradiens (felső, # FF5A00 0%, # FFAE00 100%); háttérkép: -o-lineáris gradiens (felső, # FF5A00 0%, # FFAE00 100%); háttérkép: lineáris gradiens (felső, # FF5A00 0%, # FFAE00 100%);  

    Tehát vessünk egyenként a szintaxis minden egyes részébe, hogy tisztábbá tegyük a dolgokat.

    Először is a lineáris gradienst a lineáris-gradiens () funkció. A funkciónak három fő értéke van. Az első érték a gradiens kiindulási helyzetét határozza meg. Használhat egy leíró kulcsszót, mint például felső a. \ t felső;

     div háttérkép: lineáris gradiens (felső, # FF5A00, # FFAE00);  

    A fenti részlet a W3C hivatalos verziója a színátmenetek létrehozásához. Ez valóban egyszerűbb és önmagától értetődő, és a következő gradienst is létrehozza.

    Használhatja azt is alsó az ellenkezőjét, vagy máskülönben jobb és balra.

    Átlós gradienst is létrehozhatunk a szögfok a gradiens kiindulási pozíciója. Íme egy példa:

     div háttérkép: lineáris gradiens (45deg, # FF5A00, # FFAE00);  

    A fenti részlet a következő színátmenetet hozza létre:

    A függvény második értéke megmondja a első szín információk és annak stop pozíció százalékban kifejezve. A stop pozíció valójában opcionális; a böngésző elég okos ahhoz, hogy meghatározza a helyes pozíciót, így amikor nem határozzuk meg az első szín megállását, akkor a böngésző megteszi 0% alapértelmezettként.

    És a következő érték a második szín kombináció. Úgy működik, mint az előző érték, csak akkor, ha ez az utolsó szín, és nem adtuk meg a stop pozíció, értéke 100% az alapértelmezettnek tekintendő. Most nézzük meg az alábbi példát:

     div háttérkép: lineáris gradiens (felső, # FF5A00 0%, # FFAE00 100%);  

    A fenti részlet egy olyan színátmenetet hoz létre, mint amit korábban láttunk (nincs különbség), de most a színmegállási pozíciót adjuk meg;

    Most változtassuk meg színes megállás, és ezúttal meg fogjuk határozni 50% az első szín és 51% a második színért, és lássuk, hogyan kiderül;

     div háttérkép: lineáris gradiens (felső, # FF5A00 50%, # FFAE00 51%);  

    Átláthatóság

    létrehozása átláthatóság gradiensben is lehetséges. A hatás létrehozásához a színt le kell fordítani hex -ba RGBA módban, és csökkentse az alfa csatornát.

     div háttérkép: lineáris gradiens (felső, rgba (255,90,0,0,2), rgb (255,174,0,0.2));  

    A fenti részlet a következőképpen csökkenti a színintenzitást: 20%, és a színátmenet ilyen lesz:

    Több szín

    Ha több színt szeretne hozzáadni, add hozzá a vesszőkkel elválasztott színeket, és hagyja, hogy a böngésző meghatározza az egyes színmegállási pozíciókat.

     div háttérkép: lineáris gradiens (felső, piros, narancs, sárga, zöld, kék, indigó, lila);  

    A fenti részlet a következő szivárványt hozza létre.

    Böngésző kompatibilitás

    Sajnos, az írás idején minden jelenlegi böngészőnek még támogatnia kell a szabványos szintaxist. Még mindig szükségük van a szállító előtagjára (-webKit-, -Moz-, -Kisasszony- és -o-). Ezért jelenik meg a teljes szintaxis így:

     div háttérkép: -webkit-lineáris gradiens (felső, # FF5A00 0%, # FFAE00 100%); háttérkép: -moz-lineáris gradiens (felső, # FF5A00 0%, # FFAE00 100%); háttérkép: -ms-lineáris gradiens (felső, # FF5A00 0%, # FFAE00 100%); háttérkép: -o-lineáris gradiens (felső, # FF5A00 0%, # FFAE00 100%); háttérkép: lineáris gradiens (felső, # FF5A00 0%, # FFAE00 100%);  

    Másrészt, az Internet Explorer, különösen a 9. és az alacsonyabb verzió, messze van a szabványtól. A gradiens a IE9 és az alábbiak szerint szűrő, így ha ezekhez a böngészőkhöz gradienst kívánunk hozzáadni, valami ilyet kell írni;

     div filter: progid: DXImageTransform.Microsoft.gradient (startColorstr = # FF5A00, endColorstr = # FFAE00);  

    A szűrő korlátai vannak: először nem teszi lehetővé a több mint három szín hozzáadását, és az átláthatósági hatás létrehozása is kicsit trükkös - nem teszi lehetővé RGBA, de az IE szűrő felhasználások #ARGB;

     div filter: progid: DXImageTransform.Microsoft.gradient (startColorstr = # 33FF5A00, endColorstr = # 33FFAE00);  

    Itt van egy eszköz, amely segít átalakítani RGBA nak nek #ARGB.

    • Demó
    • Letöltés forrása

    A szintaxis gyorsabb írása

    Amint a fentiekben láthatjuk, a böngészők közötti gradiens kompatibilitás fenntartásához öt további kódot kell hozzáadnunk, amelyek nem hatékonyak.

    Számos módon tehetjük a feladatot, hogy egyszerűsítsük a feladatot; például a Prefix-mentes, Prefixr, LESS vagy Sass használata a kódok összeállításához, de mindenekelőtt azt javasoljuk, hogy használja ezt az eszközt, a ColorZilla Gradientt. Ez az eszköz egyszerűen generálja az összes szükséges kódot a gradiensek működéséhez minden böngészőben.

    Végső szavak

    Ma már nagyon sokat beszéltünk a színátmenetek létrehozásáról, a szintaxis minden részét megvizsgáljuk, átlátható hatásokat hozunk létre és fenntartjuk a böngésző kompatibilitását. Tehát ebben a pillanatban reméljük, hogy már jobban megérted a témát.

    Még mindig sok dolog van, amit felfedezünk CSS3 gradiensek a jövőbeni hozzászólásainkban, így maradjon hangolva a Hongkiat.com-ra. Végül, köszönöm, hogy elolvasta ezt a hozzászólást, reméljük, hogy élvezted.

    További irodalom

    • Bullet Proof keresztböngésző RGBA hátterek - Lea Verou
    • CSS3 kép - W3.org
    • Mikor használhatom a CSS3 gradienseket - CanIUse.com