CSS3 lineārie gradienti [CSS3 padomi]
Gradients ir lielisks krāsu funkciju papildinājums CSS3. Tā vietā, lai pievienotu tikai vienu krāsu, vienā deklarācijas blokā tagad varam pievienot vairākas krāsu kombinācijas, nepaļaujot uz attēliem, kas varētu samazināt HTTP pieprasījumu mūsu tīmekļa vietnē, ļaujot vietnei ielādēt ātrāk.
Ja esat spēlējis apkārt ar gradientiem CSS3, jūs, iespējams, esat iepazinušies ar abām metodēm: radiālo un lineāro gradientu. Šodienas amats būs par pēdējo.
Gradientu izveide
Tā kā specifikācijas CSS3 gradienti ir attēls, tam nav īpašas īpašības, piemēram, citas jaunas funkcijas papildināšanas, tāpēc tas tiek deklarēts, izmantojot fona attēls
vietā.
Ja mēs apskatīsim pilnu gradienta sintaksi, tas izskatās nedaudz overstuffed, kas varētu radīt neskaidrības dažiem cilvēkiem.
div fona attēls: -webkit-lineārs gradients (augšā, # FF5A00 0%, # FFAE00 100%); fona attēls: -moz-lineārs gradients (augšā, # FF5A00 0%, # FFAE00 100%); fona attēls: -ms-lineārs gradients (augšā, # FF5A00 0%, # FFAE00 100%); fona attēls: -o-lineārs gradients (augšā, # FF5A00 0%, # FFAE00 100%); fona attēls: lineārs gradients (augšā, # FF5A00 0%, # FFAE00 100%);
Tāpēc, lai padarītu lietas skaidrākas, ielieciet katru sintakses daļu.
Pirmkārt, ar lineāro gradientu tiek deklarēts lineārs gradients ()
funkciju. Funkcijai ir trīs galvenās vērtības. Pirmā vērtība nosaka gradienta sākuma pozīciju. Jūs varat izmantot aprakstošu atslēgvārdu, piemēram, tops
lai sāktu gradientu, kas plūst no tops;
div fona attēls: lineārs gradients (augšā, # FF5A00, # FFAE00);
Iepriekš minētais fragments ir oficiālā versija no W3C, lai izveidotu gradientus. Tas ir tiešām vienkāršāks un diezgan pašsaprotams, un tas arī radīs šādu gradientu.
Varat arī izmantot apakšā
darīt pretējo vai citādi pa labi
un pa kreisi
.
Mēs varam izveidot arī diagonālo gradientu, izmantojot leņķa pakāpe
kā gradienta sākuma pozīcija. Šeit ir piemērs:
div fona attēls: lineārā gradienta (45deg, # FF5A00, # FFAE00);
Iepriekš minētais fragments radīs šādu krāsu gradientu:
Funkcijas otrā vērtība pateiks pirmā krāsa informāciju un tās apstāšanās pozīcija kas ir norādīts procentos. Pietura pozīcija faktiski nav obligāta; pārlūkprogramma ir pietiekami gudra, lai noteiktu pareizo pozīciju, tāpēc, kad nenorādām pirmās krāsas apstāšanos, pārlūks to veiks 0%
kā noklusējuma.
Un nākamā vērtība ir otrā krāsa kombināciju. Tas darbojas tāpat kā iepriekšējā vērtība, tikai tad, ja tā ir pēdējā lietotā krāsa, un mēs to nenorādām apstāšanās pozīcija, vērtība ir 100%
tiks uzskatīts par noklusējumu. Tagad aplūkosim zemāk redzamo piemēru:
div fona attēls: lineārs gradients (augšā, # FF5A00 0%, # FFAE00 100%);
Iepriekš minētais fragments radīs tādu gradientu kā tas, ko mēs redzējām agrāk (bez atšķirībām), bet tagad mēs precizējam krāsu apstāšanās pozīciju;
Tagad mainīsim krāsu apstāšanās, un šoreiz mēs precizēsim 50%
par pirmo krāsu un 51%
par otro krāsu un redzēsim, kā tas izrādīsies;
div fona attēls: lineārs gradients (augšā, # FF5A00 50%, # FFAE00 51%);
Pārredzamība
Radīt pārredzamību
arī gradientā. Lai radītu efektu, mums ir jāpārvērš krāsa hex
vērā rgba
režīmā un pazeminiet alfa kanālu.
div fona attēls: lineārais gradients (augšā, rgba (255,90,0,0.2), rgb (255,174,0,0.2));
Iepriekš minētais fragments samazinās krāsu intensitāti līdz 20%
, un slīpums būs šāds:
Vairākas krāsas
Ja vēlaties pievienot vairāk krāsu, vienkārši pievienojiet blakus esošās krāsas ar komatu atdalītāju un ļaujiet pārlūkam noteikt katras krāsas apstāšanās pozīciju.
div fona attēls: lineārais gradients (tops, sarkans, oranžs, dzeltens, zaļš, zils, indigo, violets);
Iepriekš minētais fragments radīs šādu varavīksni.
Pārlūka saderība
Diemžēl šī rakstīšanas laikā visām pašreizējām pārlūkprogrammām vēl jāatbalsta standarta sintakse. Viņiem joprojām ir vajadzīgs pārdevēja prefikss (-webkit-
, -moz-
, -jaunkundze-
un -o-
). Tātad, tāpēc pilnīgā sintakse parādās šādi:
div fona attēls: -webkit-lineārs gradients (augšā, # FF5A00 0%, # FFAE00 100%); fona attēls: -moz-lineārs gradients (augšā, # FF5A00 0%, # FFAE00 100%); fona attēls: -ms-lineārs gradients (augšā, # FF5A00 0%, # FFAE00 100%); fona attēls: -o-lineārs gradients (augšā, # FF5A00 0%, # FFAE00 100%); fona attēls: lineārs gradients (augšā, # FF5A00 0%, # FFAE00 100%);
No otras puses, Internet Explorer, īpaši 9. versija un zemāka, ir tālu no standarta. Slīpums iekšā IE9 un zemāk tiek deklarēts filtru
, tādēļ, ja mēs vēlamies pievienot gradientu uz šīm pārlūkprogrammām, mums ir jāraksta kaut kas līdzīgs šim;
div filter: progid: DXImageTransform.Microsoft.gradient (startColorstr = # FF5A00, endColorstr = # FFAE00);
The filtru
ir ierobežojumi: pirmkārt, tas neļauj pievienot vairāk nekā trīs krāsas, un pārredzamības efekta radīšana ir arī nedaudz sarežģīta - tas neļauj rgba
, bet IE filtru
izmanto #ARGB
;
div filter: progid: DXImageTransform.Microsoft.gradient (startColorstr = # 33FF5A00, endColorstr = # 33FFAE00);
Šeit ir rīks, kas palīdzēs jums konvertēt rgba
uz #ARGB
.
- Demo
- Lejupielādēt avotu
Sintakses ātrāka rakstīšana
Kā redzams iepriekš, lai saglabātu gradientu saderību pārlūkprogrammās, mums ir jāpievieno vēl piecas kodu rindas, kas ir neefektīvas.
Ir daudz veidu, kā mēs varam darīt, lai vienkāršotu uzdevumu; piemēram, bez Prefikss, Prefikss, LESS vai Sass, lai palīdzētu apkopot kodus, bet galvenais, mēs iesakām izmantot šo rīku, ColorZilla Gradient. Šis rīks vienkārši ģenerēs visus nepieciešamos kodus, lai gradienti darbotos visās pārlūkprogrammās.
Galīgie vārdi
Šodien mēs esam daudz runājuši par gradientu radīšanu, mēs esam izpētījuši katru sintakses daļu, radot pārredzamus efektus un saglabājot pārlūkprogrammas saderību. Tātad, šajā brīdī mēs ceram, ka jums jau ir labāka izpratne par šo tēmu.
Ir vēl daudzas lietas, kuras mēs plānojam izpētīt CSS3 gradienti mūsu turpmākajos amatos, tāpēc palieciet melodiju uz Hongkiat.com. Visbeidzot, paldies, ka lasījāt šo ziņu, mēs ceram, ka jums tas patika.
Turpmāka lasīšana
- Bullet Proof Cross Browser RGBA foni - Lea Verou
- CSS3 attēls - W3.org
- Kad es varu izmantot CSS3 Gradients - CanIUse.com