Waxaan dhawaan dib u soo nooleeyay garaafyada firfircoon ee ku jira mareegahayga mawduuc cusub iyo koox ka mid ah jilayaasha hormuudka ah, anigoo ku dhaqmaya farsamooyin badan oo aan la wadaagay taxanahan. Qaar ka mid ah animations-kaygu waxay beddelaan muuqaalka marka qof uu la falgalo iyaga ama waqtiyo kala duwan oo maalinta ah.
Midabada garaafka dusha sare ee boggaga blog-kayga ayaa isbeddela subaxda ilaa habeenka maalin kasta. Kadib, waxaa jira qaabka barafka, kaas oo ku daraya midabyo qabow iyo mawduuc jiilaal ah, ixtiraamka lakabka dusha sare iyo qaabka isku dhafan.
Intii aan ka shaqaynayey tan, waxaan bilaabay inaan la yaabanahay in qiimaha midabka qaraabada ee CSS ay i siin karaan kontorool badan iyadoo weliba la fududeynayo habka. Fiiro gaar ah: Casharradan, waxaan diiradda saari doonaa qiyamka midabka qaraabada ah iyo booska midabka OKLCH ee sawirada sawirada iyo animations. Haddii aad rabto inaad si qoto dheer u dhex gasho midabka qaraabada ah, Ahmad Shadeed wuxuu sameeyay hage is dhexgal heersare ah. Xagga meelaha midabka, gamutka, iyo OKLCH, Geoff Graham ayaa wax ka qoray.
Isticmaalka soo noqnoqda ee walxaha ayaa fure u ahaa. Asalkii hore ayaa dib loo istcimaali jiray mar kasta oo ay suurtagal tahay, iyada oo la soo koobay iyo dulsaar ay ka caawinayaan in la dhiso muuqaallo cusub oo isla farshaxan la mid ah. Waxay ku dhalatay lama huraan, laakiin waxay sidoo kale dhiirigelisay in laga fikiro qaab taxane ah oo aan ahayn muuqaallo gaar ah. Dhibaatada Gacanta Lagu Cusbooneysiinayo Palettes Midabka Aynu si toos ah ugu gudubno loolankayga. Cinwaannada Toon ee kan oo kale ah - oo ku salaysan 1959kii Yogi Bear Show dhacdadii "Lullabye-Bye Bear" - iyo guud ahaan shaqadayda, palette-yadu waxay ku kooban yihiin midabyo kooban.
Waxaan abuuraa hooska iyo midabada waxa aan ugu yeero midabkayga "aasaaska" si aan u ballaariyo palette-ka aniga oo aan ku darin midabyo badan.
Sketch, waxaan ka shaqeeyaa booska midabka HSL, markaa habkani wuxuu ku lug leeyahay kordhinta ama dhimista qiimaha iftiinka midabkayga. Si daacadnimo ah, maaha hawl adag - laakiin xulashada midabka aasaasiga ah ee kala duwan waxay u baahan tahay abuurista nooc cusub oo hadh iyo midabyo ah. Taas oo aad gacanta ku qabato, marar badan iyo marar badan, waxay si dhakhso ah u noqotaa hawl adag.
Waxaan sheegay HSL-H (hue), S (saturation), iyo L (iftiin) - meel midabka, laakiin taasi waa mid ka mid ah dhowr siyaabood oo lagu qeexo midabka. RGB - R (cas), G (cagaaran), B (buluug) - malaha waa kan ugu caansan, ugu yaraan qaabkiisa Hex. Waxa kale oo jira LAB - L (iftiin), A (cagaaran-cas), B (buluug-jaalle) - iyo kan cusub, laakiin hadda si ballaaran loo taageeray LCH - L (iftiin), C (chroma), H (hue) - qaabka qaabkiisa OKLCH. LCH - gaar ahaan OKLCH ee CSS - Waxaan hagaajin karaa iftiinka iftiinka midabkayga.
Ama waan bedeli karaa chroma. LCH chroma iyo HSL saturation labaduba waxay qeexayaan xoojinta ama qaninimada midabka, laakiin waxay sidaas u sameeyaan siyaabo kala duwan. LCH waxay isiinaysaa kala duwanaansho balaadhan oo la saadaalin karo isku darka midabada.
Waxaan sidoo kale bedeli karaa midabka si aan u abuuro palette midabyo ah oo wadaaga iftiin isku mid ah iyo qiyamka chroma. Labada HSL iyo LCH, hue spectrum wuxuu ka bilaabmaa casaan, wuxuu u gudbaa cagaar iyo buluug, wuxuuna ku noqdaa casaan.
Waa maxay sababta OKLCH u beddeshay sida aan uga fekero midabka Taageerada Browser ee booska midabka OKLCH hadda waa mid baahsan, xitaa haddii aaladaha naqshadeynta - oo ay ku jiraan Sketch - aysan qaban. Nasiib wanaag, taasi waa inaysan kaa joojin isticmaalka OKLCH. Browser-yadu waxay si farxad leh kuugu rogi doonaan Hex, HSL, LAB, iyo RGB OKLCH adiga. Waxaad qeexi kartaa hantida gaarka ah ee CSS oo leh midab aasaasi ah meel kasta, oo ay ku jiraan Hex: /* Midabka aasaaska */ --asaasi: # 5acd6;
Midab kasta oo ka soo jeeda waxa loo rogi doonaa OKLCH si toos ah: --aasaas-iftiin: oklch (oo ka yimid var (- aasaaska) [...]; } --foundation-mid: oklch (oo ka yimid var (- aasaaska) [...]; } --aasaas-madow: oklch (laga bilaabo var (--aasaas) [...]; }
Midabka Qaraabo Sida Nidaam Naqshad Ka fakar midabka qaraabada ah adigoo dhahaya: "Qaado midabkan, rog, dabadeed i sii natiijada." Waxaa jira laba siyaabood oo lagu hagaajin karo midabka: isbeddel buuxa iyo isbeddello saamiyeed. Waxay la mid yihiin koodka, laakiin waxay u dhaqmaan si ka duwan marka aad bilowdo beddelashada midabada aasaasiga ah. Fahamka kala duwanaanshiyahaas ayaa ah waxa u beddeli kara iyadoo la isticmaalayo midab qaraabo nidaam. /* Midabka aasaaska */ --asaasi: # 5acd6;
Tusaale ahaan, qiimaha iftiinka ee midabkayga aasaasiga ah waa 0.7837, halka nooca madow uu leeyahay qiimaha 0.5837. Si loo xisaabiyo faraqa, waxaan ka jarayaa qiimaha hoose kan sare oo waxaan dabaqaa natiijada anigoo isticmaalaya shaqo calc(): --aasaas-madow: oklch (oo ka yimid var (- aasaaska) calc (l - 0.20) c h;
Si aan u gaaro midab khafiif ah, waxaan ku darayaa farqiga: --saldhig-iftiin: oklch (oo ka yimid var (- aasaaska) calc (l + 0.10) c h);
Chromahabayntu waxay raacdaa hab isku mid ah. Si loo yareeyo xoojinta midabka aasaasiga ah ee 0.1035 ilaa 0.0035, waxaan ka jarayaa hal qiime kan kale: oklch (oo ka yimid var (- aasaaska) l calc (c - 0.10) h;
Si loo abuuro palette midabyo ah, waxaan xisaabiyaa farqiga u dhexeeya qiimaha hue ee midabkayga aasaasiga ah (200) iyo midabkayga cusub (260): oklch (oo ka yimid var (- aasaaska) l c calc (h + 60));
Xisaabintaasi waa sax. Marka aan gooyo qaddar go'an, waxaan si wax ku ool ah u leeyahay, "Mar walba ka jar wax badan." Isla sidaas oo kale ayaa khuseysa marka lagu darayo qiimayaal go'an: kal (c - 0.10) calc(c +0.10)
Waxaan u bartay xadka habkan si adag. Markii aan ku tiirsanaa kala goynta qiyamka chroma go'an, midabada ayaa u burburay dhanka cawl isla markii aan bedelay aasaaska. Palette hal midab u shaqaynayay ayaa mid kale u kala dhacay. Isku dhufashada si ka duwan bay u dhaqmeysaa. Marka aan dhufto chroma, waxa aan u sheegayaa browserka: "Ka dhimo xoojinta midabkan qayb ahaan." Xidhiidhka ka dhexeeya midabada ayaa weli ah mid sax ah, xitaa marka aasaasku isbeddelo: calc (c * 0.10)
Dhaqaajiyaheyga, miisaamayaa, ku rog-rogtaa way xukuntaa
Dhaqdhaqaaq iftiin (ku dar ama ka jar), chroma miisaan (ku dhufo), Isku rog midabka (ku dar ama ka jar darajo).
Waxaan cabbiraa chroma sababtoo ah waxaan rabaa isbeddellada xoojinta si ay ugu ekaadaan midabka saldhigga. Xidhiidhada hue waa meerto, marka midab dhufashada macno ma samaynayso. Iftiinku waa mid la fahmi karo oo dhammaystiran - ku dhufashada waxay badanaa keentaa natiijooyin aan fiicneyn.
Laga soo bilaabo Hal Midab ilaa Mawduuc dhan Midabka qaraabada ahi wuxuu ii ogolaanayaa inaan qeexo midabka aasaasiga ah oo aan dhaliyo midab kasta oo kale oo aan u baahanahay - buuxinta, istaroogga, joogsiga gradient, hooska - isaga. Halkaa marka ay marayso, midabku wuxuu joogsadaa inuu noqdo palette wuxuuna bilaabaa inuu noqdo nidaam. Sawirada SVG waxay u janjeeraan inay dib u isticmaalaan dhowr midab oo isku mid ah buuxinta, istaroogga, iyo gradients. Midabka qaraabada ah ayaa kuu ogolaanaya inaad qeexdo xidhiidhadaas hal mar oo aad dib ugu isticmaasho meel kasta - si la mid ah animators ayaa dib u isticmaalay asalka si ay u abuuraan muuqaalo cusub.
Beddel midabka aasaaska hal mar, iyo midab kasta oo la soo qaatay si toos ah ayuu u cusboonaysiiyaa, iyada oo aan wax gacanta lagu xisaabin. Garaafyada firfircoon ka baxsan, waxaan isticmaali karaa isla habkan si aan u qeexo midabada gobolada walxaha isdhexgalka sida badhamada iyo isku xidhka. Midabka aasaaska ah ee aan ku isticmaalay "Lullabye-Bye Bear" Cinwaanka Toon-ka waa buluug u eg cyan. Dhabarku waa shucaac shucaac ah oo u dhexeeya aasaaskayga iyo nooc ka madow.
Si aan u abuuro noocyo kale oo leh dareeno gebi ahaanba kala duwan, waxaan kaliya u baahanahay inaan bedelo midabka aasaasiga ah: --asaasi: # 5acd6; --grad-dhamaadka: var (--aasaas); --grad-bilow: oklch (laga bilaabo var (--aasaas) calc (l - 0.2357) calc (c * 0.833) h);
Si aan ugu xidho guryahaas caadooyinka ah ee SVG-gayga iyadoon la koobi karin qiyamka midabka, waxaan ku beddelay qiyamka midab-joojinta summada adag leh ee qaababka khadka:
Marka xigta, waxaan u baahday inaan hubiyo in qoraalkayga Toon uu had iyo jeer ka duwan yahay midab kasta oo aasaaska ah ee aan doorto. Wareega hue 180deggu wuxuu soo saaraa midab is kaaba ah oo hubaal ah - laakiin si aan raaxo lahayn u gariira: .Iftiin qoraal ah { buuxi: oklch (laga bilaabo var (--aasaas) l c calc (h + 180)); }
Isbedelka 90° wuxuu soo saaraa midab sare oo muuqda isagoon si buuxda u dhammaystirin: .Iftiin qoraal ah { buuxi: oklch (laga bilaabo var (--aasaas) l c calc (h - 90)); }
Madadaaladayda Cinwaanka Toon ee Degdegga ah ee McGraw's 1959 "El Kabong" waxay isticmaashaa farsamooyin isku mid ah laakiin leh palette kala duwan. Tusaale ahaan, waxaa jira gradient kale oo u dhexeeya midabka aasaasiga ah iyo hooska madow.
Dhismaha iyo geedka gadaashiisa ayaa si fudud u ah habab kala duwan oo isku midab ah. Wadooyinkaas, waxaan u baahday laba midab oo dheeraad ah: .bg-dhexe { buuxi: oklch (laga bilaabo var (--aasaas) calc (l - 0.04) calc (c * 0.91) h); }
.bg-madow { buuxi: oklch (laga bilaabo var (--aasaas) calc (l - 0.12) calc (c * 0.64) h); }
Marka Aasaaska Bilaabaan Inay Dhaqdhaqaaqaan
Ilaa hadda, wax kasta oo aan soo bandhigay waxay ahaayeen kuwo taagan. Xitaa marka uu qof isticmaalo midab-dooriye si uu u beddelo midabka aasaaska, isbeddelkaas ayaa isla markiiba dhacaya. Laakin garaafyada firfircooni si dhif ah ayay u istaagaan - tilmaantu waxay ku jirtaa magaca. Markaa, haddii midabku yahay qayb ka mid ah nidaamka, ma jirto sabab aanu u noolayn karin, sidoo kale.
Si aan u dhaqaajiyo midabka aasaaska, waxaan marka hore u baahanahay inaan u kala qaybiyo kanaalada OKLCH- iftiin, chroma, iyo midab. Laakiin waxaa jira tallaabo dheeri ah oo muhiim ah: Waxaan u baahanahay inaan u diiwaan geliyo qiyamkaas sida guryaha gaarka loo qoray. Laakiin maxay taasi ka dhigan tahay?
Sida caadiga ah, browserku ma garanayo in qiimaha hantida gaarka ah ee CSS uu matalo midabka, dhererka, tirada, ama shay kale oo dhan. Taasi waxay badanaa ka dhigan tahay in aan si habsami leh loo dhexgelin karin inta lagu guda jiro animation, oo ka boodaan hal qiime oo ku xiga.
Diiwaangelinta hantida gaarka ah waxay u sheegaysaa browserka nooca qiimaha uu matalo iyo sida ay tahay inuu u dhaqmo muddo ka dib. Xaaladdan oo kale, waxaan rabaa browser-ku inuu ula dhaqmo kanaalada midabkayga lambarro si ay si habsami leh ugu dhaqmaan.
@property --f-l {
syntax: "
@property --f-c {
syntax: "
@property --f-h {
syntax: "
Marka la diiwaan geliyo, guryahan caadadu waxay u dhaqmaan sida CSS-da. Barrawsaruhu wuxuu isku xidhi karaa iyaga qaab qaab-jir ah. Ka dib waxaan dib u dhisay midabka aasaasiga ah kanaaladaas: --asaasi: oklch (var (-f-l) var (--f-c) var (--f-h));
Tani waxay ka dhigeysaa midabka aasaaska inuu noqdo mid nool, si la mid ah qiimaha kale ee tirada. Halkan waxaa ah animation "neefsi" fudud oo si tartiib ah u beddelaya iftiinka wakhtiga: @keyframes neefso { 0%, 100% {-f-l: 0.36; } 50% {-f-l: 0.46; } }
.toon-ciwaan { animation: neefso 10s si fudud oo aan xad lahayn; }
Sababtoo ah midab kasta oo ka mid ah buuxinta, gradients, iyo istaroogga waxay ka soo jeedaan - aasaaska, dhammaantood way wada nool yihiin, oo waxba uma baahna in gacanta lagu cusboonaysiiyo. Hal Midab Animated, Saamayn Badan Bilowgii habkan, waxaan la yaabay bal in qiimaha midabka midabka CSS uu bixin karo fursado badan iyadoo weliba ka dhigaysa mid fudud in la fuliyo. Waxaan dhawaan ku daray asal cusub oo dahab ah bogga xidhiidhka degelkayga, iyo soo-bandhigii ugu horreeyay waxa ka mid ahaa nalalka saliidda ee dhalaalaya oo lulaya.
Waxaan rabay inaan sahamiyo sida firfircoonida midabada qaraabada ah ee CSS ay uga dhigi karaan gudaha miinada mid dhab ah anigoo ku dhejinaya midabada nalalka. Waxaan rabay inay saameeyaan adduunka ku hareeraysan, sida iftiinka dhabta ahi u sameeyo. Markaa, halkii aan ka samayn lahaa midabyo badan, waxaan dhisay nidaam iftiin yar oo nooleeya hal midab.
Hawshaydii ugu horraysay waxay ahayd in aan dhex geliyo lakabka dusha iyo laambadayda:
Waxaan isticmaalay qaabka isku-dhafka ah: midabka sababtoo ah midabada waxa ka hooseeya iyada oo la ilaalinayo iftiinka hoose. Maaddaama aan rabo in dulsaarku uu ahaado mid muuqda marka animations la shido, waxaan sameeyay dulsaarka dulsaarka: .svg-mine # dulsaar { bandhig: midna; }
@media. .svg-mine[data-animations=on] # dulsaar { bandhig: block; mugdiga: 0.5; } }
Dulku waa meesha, laakiin wali kuma xidhna nalalka. Waxaan u baahday il iftiin. Laambadahaygu waa fudud yihiin, mid walbana waxa uu ka kooban yahay qayb goobaabin ah oo aan ku miiray shaandhayn. Shaandheeyaha ayaa soo saara blur aad u jilicsan goobada oo dhan.
Halkii aan si gooni gooni ah u daadin lahaa dahaadhka iyo laambadaha, waxaan dhaqaajiyaa hal calaamad oo midab "holac" oo wax kasta oo kale ka soo qaatay taas. Marka hore, waxaan diiwaangeliyaa saddex guri oo gaar ah oo loogu talagalay kanaalada OKLCH:
@property --fl-l {
syntax: "
Waxaan dhaqaajiyay kanaaladaas, anigoo si ula kac ah ugu riixaya dhawr fareemood dhanka liimika si uu flickerku si cad ugu akhriyo sida iftiinka:
@keyframes olol { 0%, 100% {-fl-l: 0.86; --fl-c: 0.12; --fl-h: 95; } 6% {-fl-l: 0.91; --fl-c: 0.10; --fl-h: 92; } 12% {-fl-l: 0.83; --fl-c: 0.14; --fl-h: 100; } 18% {-fl-l: 0.88; --fl-c: 0.11; --fl-h: 94; } 24% {-fl-l: 0.82; --fl-c: 0.16; --fl-h: 82; } 30% {-fl-l: 0.90; --fl-c: 0.12; --fl-h: 90; } 36% {-fl-l: 0.79; --fl-c: 0.17; --fl-h: 76; } 44% {-fl-l: 0.87; --fl-c: 0.12; --fl-h: 96; } 52% {-fl-l: 0.81; --fl-c: 0.15; --fl-h: 102; } 60% {-fl-l: 0.89; --fl-c: 0.11; --fl-h: 93; } 68% {-fl-l: 0.83; --fl-c: 0.16; --fl-h: 85; } 76% {-fl-l: 0.91; --fl-c: 0.10; --fl-h: 91; } 84% {-fl-l: 0.85; --fl-c: 0.14; --fl-h: 98; } 92% {--fl-l: 0.80; --fl-c: 0.17; --fl-h: 74; } }
Kadibna waxaan u cabiray animation-ka SVG, sidaa darteed doorsoomayaasha la wadaago ayaa diyaar u ah laambadaha iyo daboolkayga labadaba:
@media. .svg-mine[data-animations=on] { animation: olol 3.6s aan xad lahayn; go'doomin: go'doomin;
/* Ka samee midab ololaya kanaalada firfircoon */ -- olol: oklch (var (--fl-l) var (--fl-c) var (--fl-h));
/* Midabka nalka oo ka yimid olol */ --lamp-core: oklch (laga bilaabo var (-- olol) calc (l + 0.05) calc (c * 0.70) h);
/* Midab dulsaar ah oo ka soo jeeda isla olol --ku-daboolan: oklch (laga bilaabo var (-- olol) calc (l + 0.06) calc (c * 0.65) calc (h - 10)); } }
Ugu dambayntii, waxaan ku dabaqay midabada la soo saaray laambada ifaysa iyo dulka ay saameeyaan: @media. .svg-mine[data-animations=on] #mine-lamp-1> goobaab, .svg-mine[data-animations=on] #mine-lamp-2 > goobaab { buuxin: var (--lamp-core); }
.svg-mine[data-animations=on] # dulsaar { bandhig: block; buuxi: var (-- dulsaar-tint); mugdiga: 0.5; } }
Marka uu ololku u wareego liimiga, laambaduhu way kululaadaan, goobtuna way kulaalaysaa iyaga. Marka uu ololku qaboojiyo, wax walba way isla degayaan. Qaybta ugu fiicani waa inaan waxba gacanta lagu qorin. Haddii aan beddelo midabka aasaasiga ah ama aan beddelo xajmiga animation ololka, dhammaan nidaamka nalka ayaa isku mar cusboonaysiiya. Waxaad ka arki kartaa natiijada kama dambaysta ah boggayga. Dib u isticmaal, dib u-jeedin, dib loo booqday Hal-abuurayaasha Hanna-Barbera ayaa lagu qasbay inay dib u soo celiyaan walxaha daruuriga ah, laakiin waxaan dib u isticmaalaa midabada sababtoo ah waxay ka dhigaysaa shaqadayda mid joogto ah oo sahlan in la ilaaliyo. Qiimaha midabka CSS ee qaraabada ah ayaa ii oggolaanaya inaan:
Qeex hal midab oo aasaas ah, Sharax sida midabada kale ula xiriiraan, Dib u isticmaal cilaaqaadkaas meel walba, iyo Dhaqdhaqaaqa nidaamka adoo bedelaya hal qiime.
Midabka qaraabada kaliya ma fududeeyo mawduuca. Waxay dhiirigelisaa habka loo fikiro halka midabka, sida dhaqdhaqaaqa, uu yahay ula kac - iyo halka beddelka hal qiime uu bedeli karo muuqaalka oo dhan iyada oo aan dib loo qorin shaqada hoosteeda.