വെബിൽ ഉപയോഗിക്കുന്നതിന് SVG തയ്യാറാക്കുന്നത് വളരെ ലളിതമായ ഒരു പ്രക്രിയയാണ്, JPEG അല്ലെങ്കിൽ PNG കയറ്റുമതി ചെയ്യുന്നതിനേക്കാൾ സങ്കീർണ്ണമല്ല. നിങ്ങൾക്ക് പരിചിതമായ ഏത് ഗ്രാഫിക്സ് എഡിറ്ററും (ഇല്ലസ്ട്രേറ്റർ, സ്കെച്ച്, ഇങ്ക്സ്കേപ്പ് [സൗജന്യ] മുതലായവ. [അല്ലെങ്കിൽ നിങ്ങൾ ഷേപ്പ് ലെയറുകൾ ഉപയോഗിക്കുകയാണെങ്കിൽ ഫോട്ടോഷോപ്പ് പോലും]) നിങ്ങൾ ഉപയോഗിക്കാൻ ഉദ്ദേശിക്കുന്ന ഇമേജ് വലുപ്പത്തിൽ ഉപയോഗിക്കുക. ഞാൻ സാധാരണയായി ഇല്ലസ്ട്രേറ്ററിലാണ് ജോലി ചെയ്യുന്നത്, അതിനാൽ ആ പ്രോഗ്രാമിൽ ഫയലുകൾ തയ്യാറാക്കുന്നതിനുള്ള ചില വഴികൾ ഞാൻ വിശദീകരിക്കും, എന്നാൽ അവ സാധാരണയായി ഏത് പ്രോഗ്രാമിനും ബാധകമാണ്. പേജിൽ ഉപയോഗിക്കുന്ന വെബ് ഫോണ്ട് ഉപയോഗിച്ച് അവയെ സ്റ്റൈൽ ചെയ്യാൻ നിങ്ങൾ പദ്ധതിയിട്ടില്ലെങ്കിൽ, ഫോണ്ട് മിക്കവാറും തെറ്റായി റെൻഡർ ചെയ്യുന്നതിനാൽ, നിങ്ങളുടെ ടെക്സ്റ്റ് കർവുകളിലേക്ക് പരിവർത്തനം ചെയ്യാൻ നിങ്ങൾ ആഗ്രഹിച്ചേക്കാം (അത് സാധ്യമാണ്!). എല്ലാ ഒബ്ജക്റ്റുകളും ഒറ്റ ആകൃതികളാക്കി മാറ്റുന്നതും നല്ലതല്ല, പ്രത്യേകിച്ചും നിങ്ങൾക്ക് പേജിൽ കൃത്രിമം കാണിക്കേണ്ട സ്ട്രോക്കുകൾ ഉണ്ടെങ്കിൽ, പ്രത്യേകിച്ചും ഒബ്ജക്റ്റുകൾ പരിവർത്തനം ചെയ്യുന്നത് ഫയലിന്റെ വലുപ്പം കുറയ്ക്കില്ല എന്നതിനാൽ. ഗ്രൂപ്പുകളിലേക്കോ ലെയറുകളിലേക്കോ അസൈൻ ചെയ്തിരിക്കുന്ന പേരുകൾ എസ്വിജിയിലേക്ക് ഒരു എലമെന്റ് ഐഡിയായി ചേർക്കും. ഇത് സ്റ്റൈലിംഗിന് വളരെ സൗകര്യപ്രദമാണ്, പക്ഷേ ഇത് വർദ്ധിപ്പിക്കും മൊത്തത്തിലുള്ള വലിപ്പംഫയൽ.
നിങ്ങൾ എക്സ്പോർട്ട് ചെയ്യുന്നതിനുമുമ്പ്, എല്ലാ ചിത്രങ്ങളും ഒരു പൂർണ്ണസംഖ്യ പിക്സൽ ഗ്രിഡിലാണോ എന്ന് നിങ്ങൾ പരിശോധിക്കേണ്ടതുണ്ട് (അതായത്, ഉദാഹരണത്തിന് 23.3px × 86.8px അല്ല). അല്ലെങ്കിൽ, മിക്കവാറും ചിത്രത്തിന് വേണ്ടത്ര വ്യക്തത ഉണ്ടാകില്ല, കൂടാതെ ചിത്രത്തിന്റെ ഒരു ഭാഗം മുറിക്കപ്പെടും. ഇല്ലസ്ട്രേറ്ററിൽ ഇത് ഇനിപ്പറയുന്ന രീതിയിൽ ചെയ്യാം: ഒബ്ജക്റ്റ് > ആർട്ട്ബോർഡുകൾ > ആർട്ട് വർക്ക് ബൗണ്ടുകൾക്ക് അനുയോജ്യം. തുടർന്ന് സേവ് ആയി ക്ലിക്ക് ചെയ്ത് SVG തിരഞ്ഞെടുത്ത് സ്ഥിരസ്ഥിതി ക്രമീകരണങ്ങൾ വിടുക. ഞങ്ങൾക്ക് ഇവിടെ ഒരു ചെറിയ ഒപ്റ്റിമൈസേഷൻ ചെയ്യാനാവും, എന്നാൽ ഇത് ശരിക്കും വിലമതിക്കുന്നില്ല, കാരണം ഞങ്ങൾ പിന്നീട് വിവിധ മെച്ചപ്പെടുത്തൽ ടെക്നിക്കുകൾ ഉപയോഗിക്കും, അതിനാൽ ആ ട്വീക്കുകളിൽ ഞങ്ങൾ സമയം പാഴാക്കില്ല.
ഫയൽ വലുപ്പം കുറയ്ക്കുന്നതിനുള്ള തന്ത്രങ്ങൾ.
(ഒപ്റ്റിമൈസേഷൻ കാണുക)
ഏറ്റവും ചെറിയ SVG വലുപ്പം നേടുന്നതിന്, അതിൽ നിന്ന് അനാവശ്യമായ എല്ലാം നീക്കം ചെയ്യുന്നത് യുക്തിസഹമായിരിക്കും. ഏറ്റവും പ്രശസ്തമായതും ഉപയോഗപ്രദമായ പ്രോഗ്രാം(കാരണം ഇത്രയെങ്കിലുംഞാൻ അങ്ങനെ കരുതുന്നു) SVG പ്രോസസ്സ് ചെയ്യുന്നതിന് ഇത് SVGO ആണ്. അവൾ എല്ലാം നീക്കം ചെയ്യുന്നു ആവശ്യമായ കോഡ്. പക്ഷേ! CSS/JS ഉപയോഗിച്ച് SVG കൈകാര്യം ചെയ്യാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ ഈ പ്രോഗ്രാം ഉപയോഗിക്കുമ്പോൾ ശ്രദ്ധിക്കുക, കാരണം ഇത് കോഡ് വളരെയധികം വൃത്തിയാക്കിയേക്കാം, ഇത് ഭാവിയിലെ മാറ്റങ്ങൾ ബുദ്ധിമുട്ടാക്കും. എസ്വിജിഒയുടെ മറ്റൊരു സൗകര്യം, ഒരു പ്രോജക്റ്റ് സ്വപ്രേരിതമായി നിർമ്മിക്കുന്ന പ്രക്രിയയിൽ ഇത് ഉൾപ്പെടുത്താം, എന്നാൽ നിങ്ങൾക്ക് ഇത് ഉപയോഗിക്കാനും കഴിയും GUIനിങ്ങൾക്ക് വേണമെങ്കിൽ.
ഉപയോഗിച്ച് കൂടുതൽ വിശദമായി മനസ്സിലാക്കുന്നു ശരിയായ നീക്കംഎല്ലാം അനാവശ്യമാണ്, നമുക്ക് മറ്റെന്തെങ്കിലും ചെയ്യാം ഗ്രാഫിക് എഡിറ്റർ. ആദ്യം നിങ്ങൾ കഴിയുന്നത്ര കുറച്ച് പാതകൾ/ആകൃതികൾ ഉപയോഗിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കേണ്ടതുണ്ട്, അതുപോലെ തന്നെ ആ പാതകളിലെ പോയിന്റുകളും. നിങ്ങൾക്ക് ലളിതമാക്കാൻ കഴിയുന്ന എല്ലാം സംയോജിപ്പിക്കാനും ലളിതമാക്കാനും എല്ലാം ഇല്ലാതാക്കാനും കഴിയും അനാവശ്യ പോയിന്റുകൾ. ഇല്ലസ്ട്രേറ്ററിന് ഒരു സ്മാർട്ട് റിമൂവ് ബ്രഷ് ടൂൾ ഉള്ള ഒരു വെക്റ്റർസ്ക്രൈബ് പ്ലഗിൻ ഉണ്ട്, അത് പോയിന്റുകൾ നീക്കം ചെയ്യാനും തുടർന്നും പോകാനും നിങ്ങളെ സഹായിക്കും പൊതുവായ രൂപംഅതേ.
പ്രാഥമിക ഒപ്റ്റിമൈസേഷൻ
സ്മാർട്ട് നീക്കം ബ്രഷ് ടൂൾ പോയിന്റുകൾ നീക്കം ചെയ്തു
അടുത്തതായി നമ്മൾ ചിത്രം വലുതാക്കും. ഇല്ലസ്ട്രേറ്ററിൽ, ഒരു പിക്സൽ ഗ്രിഡ് ഉപയോഗിച്ച് വ്യൂ > പിക്സൽ പ്രിവ്യൂ ഓണാക്കി ഔട്ട്ലൈനുകൾ എങ്ങനെ പൊസിഷൻ ചെയ്തിരിക്കുന്നുവെന്ന് പരിശോധിക്കുന്നത് സൗകര്യപ്രദമാണ്. ഗ്രിഡിൽ ഔട്ട്ലൈനുകൾ സ്ഥാപിക്കാൻ കുറച്ച് സമയമെടുക്കും, പക്ഷേ പ്രയത്നം ഫലം കാണുകയും ക്ലീനർ റെൻഡറിംഗിൽ കലാശിക്കുകയും ചെയ്യും (ഇത് മുൻകൂട്ടി ശ്രദ്ധിക്കുന്നതാണ് നല്ലത്).
പോയിന്റ് ഓഫ് ഗ്രിഡ്
ഗ്രിഡിലേക്ക് വിന്യസിക്കുക
വിന്യസിക്കാൻ രണ്ടോ അതിലധികമോ ഒബ്ജക്റ്റുകൾ ഉണ്ടെങ്കിൽ, അനാവശ്യമായ എല്ലാ ഓവർലാപ്പുകളും നീക്കംചെയ്യുന്നത് മൂല്യവത്താണ്. ചിലപ്പോൾ, രൂപരേഖകൾ ശ്രദ്ധാപൂർവ്വം വിന്യസിച്ചാലും, നേർത്ത വെളുത്ത വര ദൃശ്യമാകും. ഇത് തടയുന്നതിന്, അവ ഓവർലാപ്പ് ചെയ്യുന്ന വസ്തുക്കളെ ചെറുതായി ഓവർലാപ്പ് ചെയ്യാം. പ്രധാനം: SVG-യിൽ, z-ഇൻഡക്സിന് ഒരു നിശ്ചിത ക്രമമുണ്ട്, അത് ചുവടെയുള്ള ഒബ്ജക്റ്റിനെ ആശ്രയിച്ചിരിക്കുന്നു, അതിനാൽ കോഡിലെ ഫയലിന്റെ ചുവടെ മുകളിലെ ഒബ്ജക്റ്റ് സ്ഥാപിക്കുന്നത് മൂല്യവത്താണ്.
അവസാനമായി, അവസാനമായി, എന്നാൽ ഏറ്റവും കുറഞ്ഞത്, സാധാരണയായി മറന്നുപോകുന്ന ഒരു കാര്യം .htaccess ഫയലിൽ നിങ്ങളുടെ സൈറ്റിൽ SVG-യുടെ gzip കംപ്രഷൻ പ്രവർത്തനക്ഷമമാക്കുക എന്നതാണ്.
AddType image/svg+xml svg svgz
ഈ സാങ്കേതികത എത്രത്തോളം ഫലപ്രദമാണ് എന്നതിന്റെ ഒരു ഉദാഹരണമായി, ഞാൻ യഥാർത്ഥ ബ്രേക്കിംഗ് ബോർഡർ ലോഗോ എടുത്ത് ഈ രീതിയിൽ ഒപ്റ്റിമൈസ് ചെയ്യും: വലുപ്പം എന്തായിരിക്കണമെന്ന് വർദ്ധിപ്പിക്കുക; ഞാൻ രൂപരേഖകൾ ക്രമീകരിക്കും; ഞാൻ കഴിയുന്നത്ര പോയിന്റുകൾ ഇല്ലാതാക്കും; പൂർണ്ണസംഖ്യ പിക്സലുകൾ ഉപയോഗിച്ച് പോയിന്റുകൾ നീക്കുക; ഞാൻ എല്ലാ ഓവർലാപ്പ് ഏരിയകളും നീക്കി അതെല്ലാം SVGO-യിലേക്ക് അയയ്ക്കും.
യഥാർത്ഥം: 1.413b
ഒപ്റ്റിമൈസേഷന് ശേഷം: 409b
തൽഫലമായി, ഫയൽ വലുപ്പം ~71% ചെറുതായി (കംപ്രസ്സുചെയ്യുമ്പോൾ ~83% ചെറുതായി)
ഇന്ന്, SVG ആനിമേഷൻ സൃഷ്ടിക്കാൻ ഒന്നിലധികം മാർഗങ്ങളുണ്ട്. SVG കോഡിലേക്ക് നേരിട്ട് ചേർത്ത ഒരു ടാഗ് ഉപയോഗിച്ച് ഇത് ചെയ്യാൻ കഴിയും. Snap.svg അല്ലെങ്കിൽ SVG.js പോലുള്ള പ്രത്യേക ലൈബ്രറികളുണ്ട്.
ഞങ്ങൾ അൽപ്പം വ്യത്യസ്തമായ ഒരു സമീപനം നോക്കാം: ഇൻലൈൻ എസ്വിജി (എസ്വിജി കോഡ് നേരിട്ട് HTML-ൽ) ആനിമേഷനും ഉപയോഗിക്കുന്നു വ്യക്തിഗത ഭാഗങ്ങൾനേരെ CSS വഴി.
ഞങ്ങൾ ഇവിടെ കവർ ചെയ്യുന്ന വിഷയത്തെക്കുറിച്ചുള്ള ഒരു ഉന്മേഷദായകമെന്ന നിലയിൽ, എന്റെ അൽമ മെറ്ററായ വുഫൂവിനുള്ള ഒരു പ്രോജക്റ്റിൽ ഈ രീതി ഞാൻ അടുത്തിടെ പരീക്ഷിച്ചു.
എന്റെ സമീപകാല പ്രോജക്ടുകളിൽ ഞാൻ SVG അധികം ഉപയോഗിച്ചിട്ടില്ല, അതിനാൽ ഈ ലേഖനം കൂടുതൽ ശ്രദ്ധ നൽകാനുള്ള മികച്ച അവസരമാണെന്ന് ഞാൻ കരുതുന്നു.
അവസാന ആനിമേഷൻ ലുക്ക് വളരെ ലളിതമാണ്. ഇത് എങ്ങനെ കാണപ്പെടുന്നുവെന്നത് ഇതാ:
CodePen-ൽ കാണുക
ഇത് എങ്ങനെ ചെയ്യുന്നുവെന്ന് നോക്കാം.
1. ഞങ്ങൾ ഉപയോഗിക്കുന്ന ഘടകങ്ങളുടെ ഒരു ലിസ്റ്റ് ഉണ്ടാക്കുക
ഒരു മൂങ്ങയെ എങ്ങനെ വരയ്ക്കാം എന്ന രീതിയിൽ ഇവിടെ ധാരാളം ജോലികൾ ഉണ്ടെന്ന് തോന്നിയേക്കാം, എന്നാൽ ഈ ലേഖനം ആനിമേഷനെക്കുറിച്ചാണ്, അതിനാൽ നമുക്ക് കഴിയുന്നത്ര വേഗത്തിൽ ഗ്രാഫിക്സ് കൈകാര്യം ചെയ്യാം.
അവരുടെ ക്ലാസിക് ലോഗോ, നിറങ്ങൾ എന്നിവ ഉപയോഗിച്ച് ഒരു സൂപ്പർ സിമ്പിൾ വുഫൂ പരസ്യം ഉണ്ടാക്കാനായിരുന്നു എന്റെ പ്ലാൻ കോർപ്പറേറ്റ് ശൈലി. തുടർന്ന് കുറച്ച് സർഗ്ഗാത്മകത ചേർക്കുക:
- പേജിൽ നിന്ന് അക്ഷരങ്ങൾ ഓടുന്ന ഇഫക്റ്റ് സൃഷ്ടിക്കുക. വുഫൂ ഒരു രസകരമായ വാക്കാണ്, അക്ഷരങ്ങളും രസകരമായിരിക്കട്ടെ;
- തലേദിവസം, മുൻവശത്ത് ഒരു ദിനോസറും പിന്നിൽ വാക്കുകളും ഉള്ള ഒരു ടി-ഷർട്ട് ഞങ്ങൾ ഡിസൈൻ ചെയ്തു: " വേഗം. സ്മാർട്ട്. ഗ്രോസ്നി" ദിനോസറുകളും വുഫൂവും പങ്കിടുന്ന സ്വഭാവസവിശേഷതകളാണിത്. "FORMidble" (ഭീകരം) എന്ന വാക്കിൽ ഞങ്ങൾ കളിച്ചുവെന്ന വസ്തുത പരാമർശിക്കേണ്ടതില്ല. അതുകൊണ്ട് ആനിമേഷൻ ബ്ലോക്കിൽ ഈ വാക്കുകൾ പ്രത്യക്ഷപ്പെടുകയും അപ്രത്യക്ഷമാകുകയും ചെയ്യണമെന്ന് ഞാൻ ആഗ്രഹിച്ചു;
- ഈ വാക്കുകളെ ഒരു ദിനോസറുമായി ബന്ധിപ്പിക്കുന്നതിന്, നമുക്ക് ടി-റെക്സിന്റെ തല പ്രത്യക്ഷപ്പെടുകയും പെട്ടെന്ന് അപ്രത്യക്ഷമാവുകയും ചെയ്യും. ഇത് "ഫാസ്റ്റ്" എന്ന വാക്ക് പ്രദർശിപ്പിക്കും, അത് ഘടകങ്ങൾക്കുള്ള മറ്റൊരു രസകരമായ ലിങ്കായിരിക്കും.
- ഞാൻ ഈ ഘടകങ്ങളെല്ലാം ഇല്ലസ്ട്രേറ്ററിലേക്ക് ലോഡ് ചെയ്തു:
ലോഗോയും മുദ്രാവാക്യവും എങ്ങനെയാണ് രൂപപ്പെടുത്തിയിരിക്കുന്നതെന്ന് ശ്രദ്ധിക്കുക. ഇതിനർത്ഥം അവ വെക്റ്റർ രൂപങ്ങൾ മാത്രമാണെന്നും എസ്വിജിയിലും ഇൻവെർട്ടിലും അവയ്ക്ക് ഇഫക്റ്റുകൾ എളുപ്പത്തിൽ പ്രയോഗിക്കാമെന്നുമാണ്.
നിങ്ങൾ കാണുന്ന വാചകം “വേഗത. ” ടെക്സ്റ്റ് ഫോർമാറ്റിൽ ഇല്ലസ്ട്രേറ്ററിൽ തുടരുന്നു.
ഞാൻ ഫയൽ ഇല്ലസ്ട്രേറ്ററിൽ സേവ് ചെയ്യുമ്പോൾ, അക്ഷരങ്ങൾ ഒരു ഘടകമായി നിലനിൽക്കും.
2. SVG ഫോർമാറ്റിൽ സംരക്ഷിക്കുക
SVG ആയി സംരക്ഷിക്കുന്നത് ഇല്ലസ്ട്രേറ്റർ പിന്തുണയ്ക്കുന്നു:
നിങ്ങൾക്ക് ഈ SVG ഫയൽ ഒരു കോഡ് എഡിറ്ററിൽ തുറന്ന് അതിൽ SVG കോഡ് കാണാം:
3. SVG വൃത്തിയാക്കി രൂപങ്ങൾക്കായി ക്ലാസുകൾ സജ്ജമാക്കുക
നിങ്ങൾക്ക് കോഡ് ഒപ്റ്റിമൈസ് ചെയ്യാനും വൃത്തിയാക്കാനും SVGO വഴി പ്രവർത്തിപ്പിക്കാം അനാവശ്യ ഘടകങ്ങൾ DOCTYPE എന്ന് ടൈപ്പ് ചെയ്യുക.
എന്നാൽ ഇപ്പോൾ ഞങ്ങൾക്ക് കൂടുതൽ പ്രധാനം ആകാരങ്ങൾക്ക് വ്യത്യസ്ത ക്ലാസ് പേരുകൾ നൽകുക എന്നതാണ്, അതിനാൽ നമുക്ക് അവ CSS-ൽ തിരഞ്ഞെടുത്ത് വ്യത്യസ്ത കാര്യങ്ങൾ ചെയ്യാൻ കഴിയും!
4. SVG തിരുകുക
നിങ്ങൾക്ക് ഈ SVG കോഡ് പകർത്തി ബ്ലോക്ക് ദൃശ്യമാകാൻ ആഗ്രഹിക്കുന്ന HTML-ലേക്ക് നേരിട്ട് ഒട്ടിക്കാം. എന്നാൽ ഇതൊരു പ്രാകൃത ഫലകം മാത്രമാണ്.
നിങ്ങൾക്ക് ഇതുപോലൊന്ന് ചെയ്യാൻ കഴിയും:
5. ആനിമേഷൻ!
ഇപ്പോൾ ഈ ആകാരങ്ങളെല്ലാം DOM-ലേക്ക് നയിക്കപ്പെടുന്നു, നമുക്ക് അവയെ സ്ഥാപിക്കാനും മറ്റേതൊരു ശൈലിയും പോലെ ക്രമീകരിക്കാനും കഴിയും HTML ഘടകം. അത് ചെയ്യാം.
10 സെക്കൻഡ് ടൈംലൈൻ ഉപയോഗിക്കാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നുവെന്ന് പറയാം:
ആദ്യത്തെ വാക്കുകൾ വീഴുകയും അപ്രത്യക്ഷമാവുകയും ചെയ്യുന്നു
നമ്മൾ ആദ്യം ചെയ്യേണ്ടത് "" എന്ന വാക്കുകൾ അച്ചടിക്കുക എന്നതാണ്. വേഗം. സ്മാർട്ട്. ഗ്രോസ്നി.» ഓരോ വാക്കും ഒരു സെക്കൻഡ് പ്രദർശിപ്പിക്കും.
ഓരോ വാക്കും 10% സമയമെടുക്കുന്ന ഒരു ആനിമേഷൻ ഞങ്ങൾ സൃഷ്ടിക്കുന്നത് ഇങ്ങനെയാണ്:
@കീഫ്രെയിംസ് ഹൈഡ്ഷോ (0% (ഒപാസിറ്റി: 1;) 10% ( അതാര്യത: 1; ) 15% ( അതാര്യത: 0; ) 100% ( അതാര്യത: 0; ) )
തുടർന്ന് ഞങ്ങൾ ആദ്യ വാക്കും മുഴുവൻ ആനിമേഷന്റെ ദൈർഘ്യവും 10 സെക്കൻഡിൽ വ്യക്തമാക്കുന്നു (അതിൽ 10% 1 സെക്കൻഡ്):
ടെക്സ്റ്റ്-1 (ആനിമേഷൻ: ഹൈഡ്ഷോ 10s അനന്തമായത് എളുപ്പമാക്കുന്നു; )
അടുത്ത രണ്ട് വാക്കുകൾ ആദ്യം മറയ്ക്കും (ഒപാസിറ്റി: 0; ), തുടർന്ന് ഞങ്ങൾ അതേ ആനിമേഷൻ ഉപയോഗിക്കും, സമയ കാലതാമസത്തോടെ മാത്രം, അടുത്ത വാക്കുകൾ കുറച്ച് കഴിഞ്ഞ് ദൃശ്യമാകും:
ടെക്സ്റ്റ്-2 (ഒപാസിറ്റി: 0; ആനിമേഷൻ: ഹൈഡ്ഷോ 10സെ 1.5സെ ഈസ് അനന്തമാണ്; ) .ടെക്സ്റ്റ്-3 (ഒപാസിറ്റി: 0; ആനിമേഷൻ: ഹൈഡ്ഷോ 10സെ 3സെ ഈസ് അനന്തമാണ്; )
ഓരോ അടുത്ത വാക്കിന്റെയും ഔട്ട്പുട്ടിനുമിടയിലുള്ള ഇടവേള സജ്ജീകരിക്കാൻ 0.5 സെക്കൻഡ് കൂടി ആവശ്യമാണ്.
കുതിക്കുന്ന അക്ഷരങ്ങൾ
ഈ ഘടകത്തിനായുള്ള ആനിമേഷൻ സജ്ജീകരിച്ചുകഴിഞ്ഞാൽ, വുഫൂ എന്ന വാക്കിലെ അക്ഷരങ്ങൾക്കുള്ള ഇഫക്റ്റുകളിലേക്ക് ഞങ്ങൾ പോകുന്നു, അത് ഇതുപോലെ വശത്തേക്ക് ചാടണം:
ഇവിടെയുള്ള തന്ത്രം നമ്മൾ സൃഷ്ടിക്കുന്നു എന്നതാണ് ആനിമേഷൻ പ്രഭാവം, ഇത് 5 സെക്കൻഡ് മാത്രമേ നീണ്ടുനിൽക്കൂ, പക്ഷേ ഞങ്ങൾ അത് ഒരു പ്രാവശ്യം മുന്നോട്ട് ഓടിക്കുന്നു, തുടർന്ന് വിപരീത ദിശയിലേക്ക്.
അതിനാൽ ഇത് ഞങ്ങളുടെ 10 സെക്കൻഡ് ചാർട്ടുമായി പൊരുത്തപ്പെടുകയും ടൈംലൈനിന്റെ മധ്യത്തിൽ സ്ഥിതിചെയ്യുകയും ചെയ്യും. നമ്മൾ ചെയ്യേണ്ടത് ആനിമേഷൻ ഇഫക്റ്റ് ഒരു ദിശയിൽ സ്ക്രോൾ ചെയ്യുന്നതിനുള്ള പാരാമീറ്ററുകൾ സജ്ജമാക്കുക എന്നതാണ്, കാരണം എപ്പോൾ റിവേഴ്സ് സ്ക്രോൾഅത് അതിന്റെ യഥാർത്ഥ സ്ഥാനത്തേക്ക് മടങ്ങും.
ഓരോ അക്ഷരത്തിനുമുള്ള ഇഫക്റ്റുകൾക്ക് നേരിയ കാലതാമസമുണ്ട്, അതിനാൽ അവയെല്ലാം ഒരേ സമയം നീങ്ങുന്നില്ല, എന്നാൽ ഒന്നിനുപുറകെ ഒന്നായി:
വുഫൂ-ലെറ്റർ (ആനിമേഷൻ: കബൂം 5 എസ് ഈസ് ഇതര അനന്തമായ; കുട്ടി(4) (ആനിമേഷൻ-ഡിലേ: 0.3സെ; ) &: nth-child(5) (ആനിമേഷൻ-ഡിലേ: 0.4സെ; ) ) @keyframes kaboom (90% (രൂപമാറ്റം: സ്കെയിൽ(1.0); ) 100% (രൂപമാറ്റം : സ്കെയിൽ(1.1); )
മുകളിലുള്ള SCSS കോഡ് ഒരു ചെറിയ പതിപ്പ് മാത്രമാണ്, അതിൽ പ്രിഫിക്സുകൾ ഉൾപ്പെടുന്നില്ല (നിങ്ങൾക്ക് പ്രായോഗികമായി ഇത് ആവശ്യമാണ്).
യഥാർത്ഥ CSS-ൽ നിന്ന് എടുക്കാൻ ഉപയോഗപ്രദമായ ഒരു പ്രോപ്പർട്ടി ആനിമേഷൻ-ഡിലേ ആണെന്ന് ഞാൻ കരുതുന്നു. അക്ഷരങ്ങൾ അൽപ്പം കാലതാമസത്തോടെ നീങ്ങുമ്പോൾ അത് വൃത്തിയായി കാണപ്പെടും.
ഒടുവിൽ, ദിനോസർ
ഈ ലിഖിതങ്ങൾ ബ്ലോക്കിലുടനീളം മിന്നിമറയുമ്പോൾ, ഒരു ദിനോസറിന്റെ തല താഴെ നിന്ന് ഉയർന്നുവരുന്നു. ദിനോസർ രൂപം ഉൾക്കൊള്ളുന്നു എന്ന വസ്തുത ഉണ്ടായിരുന്നിട്ടും വലിയ അളവ്ഘടകങ്ങൾ, ഈ ഘടകങ്ങളെല്ലാം ഉൾക്കൊള്ളുന്ന ഒരു പൊസിഷനിംഗ് ടാഗ് (ഗ്രൂപ്പ്) ഉപയോഗിച്ച് നമുക്ക് അവയെല്ലാം ഒരുമിച്ച് സ്ഥാപിക്കാൻ കഴിയും.
ആനിമേഷൻ സ്ഥാപിക്കാൻ ട്രാൻസ്ഫോർമുകൾ ഉപയോഗിക്കുന്നത് കൂടുതൽ കാര്യക്ഷമമായതിനാൽ, കീഫ്രെയിമുകൾ ഉപയോഗിച്ച് ഞങ്ങൾ ഇത് ചെയ്യും:
@keyframes പോപ്പ്അപ്പ് (0% (രൂപമാറ്റം: translateY(150px); ) 34% (പരിവർത്തനം: translateY(20px); ) 37% (പരിവർത്തനം: translateY(150px); 100% (പരിവർത്തനം: translateY(150px); ) )
ഈ ആനിമേഷൻ "അവസാന" ഏകദേശം 3 സെക്കൻഡിൽ പ്രദർശിപ്പിക്കണമെന്ന് ഞങ്ങൾ ആഗ്രഹിക്കുന്നു. ഈ ചക്രം യഥാർത്ഥത്തിൽ മുഴുവൻ 10 സെക്കൻഡിലും പ്രവർത്തിക്കുന്നു, എന്നാൽ അവസാന 3 സെക്കൻഡിനുള്ളിൽ യഥാർത്ഥ ദൃശ്യമായ ഇഫക്റ്റുകൾ നിങ്ങൾ കാണും.
ഇഫക്റ്റിൽ TranslateY(150px) പ്രയോഗിക്കുമ്പോൾ, ദിനോസർ ബോക്സിന് പുറത്ത് വളരെ താഴേക്ക് നീങ്ങുന്നു, അത് നിങ്ങൾക്ക് കാണാൻ കഴിയില്ല.
എന്നാൽ ഈ ആനിമേഷന്റെ 37% സമയവും (ഏകദേശം 3 സെക്കൻഡ്) അവൻ സാവധാനം മുകളിലേക്ക് നീങ്ങുന്നതും പിന്നീട് വേഗത്തിൽ താഴേക്ക് നീങ്ങുന്നതും നിങ്ങൾ കാണുന്നു.
ഈ ആനിമേഷൻ പ്രയോഗിക്കുമ്പോൾ ഞങ്ങൾ ഇത് ഉറപ്പാക്കും:
- ദിനോസർ ആദ്യം മറഞ്ഞിരിക്കുന്നു;
- ഈ ആനിമേഷൻ ശകലത്തിന്റെ ഔട്ട്പുട്ട് കൃത്യസമയത്ത് വൈകുന്നു, അതിനാൽ ലോഗോ പദത്തിലെ അക്ഷരങ്ങൾ നൃത്തം പൂർത്തിയാക്കിയ ഉടൻ തന്നെ ഇത് ആരംഭിക്കുന്നു (അവ വശത്തേക്ക് മാറി അവരുടെ സ്ഥലത്തേക്ക് മടങ്ങി).
ട്രെക്സ് (രൂപമാറ്റം: translateY(150px); ആനിമേഷൻ: പോപ്പ്അപ്പ് 10s 6.5s അനന്തമായത്; )
അവസാന നിമിഷത്തിൽ ദിനോസർ താഴേക്ക് വീഴുന്നതിനാൽ ഉടൻ തന്നെ ബ്ലോക്കിൽ "ഫാസ്റ്റ്" എന്ന വാക്ക് വീണ്ടും പ്രത്യക്ഷപ്പെടും (ആനിമേഷൻ പ്ലേബാക്ക് ഇടവേള അനന്തമായി സജ്ജീകരിച്ചിരിക്കുന്നു, അങ്ങനെ അത് ഒരു സർക്കിളിൽ വീണ്ടും വീണ്ടും പ്രവർത്തിക്കുന്നു). ഇത് കുറച്ച് രസകരമായ സമന്വയം ചേർക്കുന്നു.
6. ബ്ലോക്ക് ക്ലിക്ക് ചെയ്യാവുന്ന/ഇന്ററാക്ടീവ് പരസ്യമാക്കി മാറ്റുന്നു
അതിലൊന്ന് ഉപയോഗപ്രദമായ സവിശേഷതകൾഗുണനിലവാരം നഷ്ടപ്പെടാതെ ഏത് വലുപ്പത്തിലും ഒബ്ജക്റ്റുകൾ സ്കെയിൽ ചെയ്യാനുള്ള കഴിവാണ് SVG.
ചിത്രങ്ങളുടെ യഥാർത്ഥ നിലവാരം നിലനിർത്തിക്കൊണ്ട് ഒരു ഇൻലൈൻ SVG ബോക്സ് സൃഷ്ടിക്കുന്നതിന്, നമുക്ക് ഓൾ പാഡഡ് ബോക്സ് ടെക്നിക് ഉപയോഗിക്കാം.
.wufoo-ad-wrap (ഉയരം: 0; പാഡിംഗ് ടോപ്പ്: 100%; സ്ഥാനം: ബന്ധു; ) .wufoo-ad (സ്ഥാനം: കേവലം; മുകളിൽ: 0; ഇടത്: 0; വീതി: 100%; ഉയരം: 100%; )"റാപ്പർ" അതിന്റെ വീതിയെ അടിസ്ഥാനമാക്കി എല്ലായ്പ്പോഴും ഒരു ചതുരത്തിന്റെ ആകൃതി എടുക്കും എന്നതാണ് ആശയം. അപ്പോൾ ഞങ്ങൾ ചോദിക്കുന്നു കേവല മൂല്യങ്ങൾഈ പെർഫെക്റ്റ് സ്ക്വയറിനുള്ളിലെ SVG സ്ഥാനങ്ങൾ, വീതിയെ അടിസ്ഥാനമാക്കി അവയുടെ അളവുകൾ ക്രമീകരിക്കപ്പെടുന്നു.
ഇതൊരു പരസ്യമായതിനാൽ (തീർച്ചയായും ക്ലിക്കുചെയ്യേണ്ടതുണ്ട്), തുടർന്ന് അടങ്ങുന്ന കണ്ടെയ്നറായി, പകരം
തയ്യാറാക്കിയത്: Evgeny Ryzhkov പ്രസിദ്ധീകരണ തീയതി: 08/27/2010
അവസാനം അപ്ഡേറ്റ് ചെയ്തത്: 11/17/2010
ടാസ്ക്
ഒരു HTML പേജിൽ ഒരു SVG ചിത്രം പ്രദർശിപ്പിക്കുക.
ഇത് ചെയ്യുന്നതിന് നിരവധി മാർഗങ്ങളുണ്ട്, എന്നാൽ അവയെല്ലാം ക്രോസ് ബ്രൗസറല്ല.
iframe വഴി എസ്.വി.ജി
പലർക്കും ഒരു ഫ്രെയിമിന്റെ സാന്നിധ്യം ഇതിനകം തന്നെ ഈ രീതി അവസാനിപ്പിക്കുന്നു. ഇന്ന്, ഈ പ്രശ്നം പരിഹരിക്കാൻ കൂടുതൽ വിപുലമായ മാർഗങ്ങളുണ്ട്. കൂടാതെ, ഈ രൂപത്തിൽ സുതാര്യമായ ഇമേജുകൾ നടപ്പിലാക്കാൻ കഴിയില്ല (ഫ്രെയിമിന് ഒരു പശ്ചാത്തലമുണ്ട്), കൂടാതെ ബാഹ്യ സ്ക്രിപ്റ്റുകളിൽ നിന്ന് ചിത്രത്തിന്റെ ഘടകങ്ങളിലേക്ക് പ്രവേശനമില്ല.
ഒബ്ജക്റ്റ് വഴി എസ്.വി.ജി
ഞങ്ങൾക്ക് ഉണ്ട്: സാധുവായ ക്ലീൻ കോഡ്, ഇതര ടെക്സ്റ്റ്, അവിടെ ഉപയോക്താവിന് ചിത്രങ്ങൾ കാണുന്നില്ലെങ്കിൽ എന്തുചെയ്യണമെന്നതിനുള്ള നിർദ്ദേശങ്ങൾ നിങ്ങൾക്ക് നൽകാം (ഉദാഹരണത്തിന്, അവനെ ഒരു സാധാരണ ബ്രൗസറിന്റെ വെബ്സൈറ്റിലേക്ക് അയയ്ക്കുക അല്ലെങ്കിൽ ഒരു പ്ലഗിനിലേക്ക് ഒരു ലിങ്ക് നൽകുക, ഇതിന്റെ ഇൻസ്റ്റാളേഷൻ അവനെ സഹായിക്കും). ഈ നടപ്പിലാക്കൽ SVG ഇമേജിലെ സുതാര്യതയെ പിന്തുണയ്ക്കുന്നു (IE-യിൽ ഒരു പ്രശ്നമുണ്ടെങ്കിലും: സുതാര്യമായ പ്രദേശങ്ങൾ വെള്ള നിറത്തിൽ നിറയും). മൈനസുകളിൽ: ബാഹ്യ സ്ക്രിപ്റ്റുകൾ (HTML-ൽ നിന്ന്) ഉള്ള ചിത്രങ്ങളെ സ്വാധീനിക്കാൻ ഒരു മാർഗവുമില്ല, SVG ഫയലിൽ ഉള്ളവ മാത്രം.
പശ്ചാത്തല ചിത്രങ്ങൾക്കോ ഏതെങ്കിലും സ്റ്റാറ്റിക് ചിത്രങ്ങൾക്കോ ഈ രീതി നല്ലതാണ്.
എംബഡ് വഴി എസ്.വി.ജി
ഈ രീതി HTML-ലെ സ്ക്രിപ്റ്റുകളെ ഒരു SVG ഫയലിന്റെ ഉള്ളടക്കവുമായി സംവദിക്കാൻ അനുവദിക്കുന്നു (എനിക്ക് ഇത് ഇതുവരെ നേടാൻ കഴിഞ്ഞിട്ടില്ല). IE ന് wmode ആട്രിബ്യൂട്ട് ഉണ്ട് (
ഈ രീതി ഇപ്പോൾ വളരെ ജനപ്രിയമാണ്.
HTML കോഡിൽ SVG
- ഉപയോഗിച്ച നെയിംസ്പേസിൽ നിങ്ങൾ ശ്രദ്ധിക്കണം: xmlns:svg="http://www.w3.org/2000/svg">;
- പ്രമാണം xhtml ഫോർമാറ്റിലായിരിക്കണം (പ്രാദേശികമായി ഇത് .xhtml വിപുലീകരണമുള്ള ഒരു ഫയലാണ്)
- ഈ രീതിക്ക് മോശം ക്രോസ്-ബ്രൗസർ അനുയോജ്യതയുണ്ട്. IE യുടെ പ്രതികരണം പ്രത്യേകിച്ച് മോശമാണ്;
- html കോഡ് അവിശ്വസനീയമാംവിധം വൃത്തികെട്ടതായി മാറുന്നു.
ഈ രീതി ഇപ്പോൾ ഉപയോഗിക്കാതിരിക്കുന്നതാണ് നല്ലത്.
കുറിപ്പ്
പതിപ്പുകൾ 8 ഉൾപ്പെടെയുള്ള IE, SVG പിന്തുണയ്ക്കുന്നില്ല. അക്കാലത്ത്, മൈക്രോസോഫ്റ്റ് അതിന്റെ ഫോർമാറ്റ് സജീവമായി പ്രോത്സാഹിപ്പിക്കുകയായിരുന്നു - വിഎംഎൽ. അതിനാൽ, അവിടെയും എസ്വിജി ഇമേജ് കാണുന്നതിന് നിങ്ങൾ ഈ ബ്രൗസറിൽ ടിങ്കർ ചെയ്യേണ്ടിവരും (ഇതിനെക്കുറിച്ച് കൂടുതൽ അടുത്ത ലേഖനങ്ങളിൽ).
ശോഭന ഭാവി
പ്രത്യക്ഷത്തിൽ, സമീപഭാവിയിൽ, SVG ഫോർമാറ്റ് വെബ് ഡെവലപ്പർമാരുടെ ജീവിതത്തിൽ സമഗ്രമായി പ്രവേശിക്കും. ഇത് സ്ഥിരീകരിക്കുന്നതിന്, SVG നടപ്പിലാക്കുന്നതിനുള്ള രസകരമായ വഴികളുടെ വിവരണങ്ങൾ നിങ്ങൾക്ക് ഇതിനകം കണ്ടെത്താനാകും. ബ്രൗസർ ഡെവലപ്പർമാർ പറയുന്നത്, അവരുടെ സൃഷ്ടികളുടെ പുതിയ പതിപ്പുകൾ ഇനിപ്പറയുന്ന SVG സംയോജന രീതികളിൽ ചിലത് അല്ലെങ്കിൽ എല്ലാം പിന്തുണയ്ക്കും എന്നാണ്.
9 ഉത്തരങ്ങൾ
നിങ്ങൾക്ക് ഈ രീതിയിൽ ഒരു ചിത്രത്തിന്റെ നിറം മാറ്റാൻ കഴിയില്ല. നിങ്ങൾ ഒരു ചിത്രമായി ഒരു SVG അപ്ലോഡ് ചെയ്യുകയാണെങ്കിൽ, ബ്രൗസറിൽ CSS അല്ലെങ്കിൽ Javascript ഉപയോഗിച്ച് അത് എങ്ങനെ പ്രദർശിപ്പിക്കണം എന്നത് മാറ്റാൻ നിങ്ങൾക്ക് കഴിയില്ല.
നിങ്ങൾക്ക് SVG ഇമേജ് മാറ്റണമെങ്കിൽ അത് ഉപയോഗിച്ച് അപ്ലോഡ് ചെയ്യണം
നിങ്ങൾക്ക് പേജിൽ രീതികൾ ഉപയോഗിക്കണമെങ്കിൽ, നിങ്ങൾക്ക് മോഡേണിസർ ലൈബ്രറി ആവശ്യമാണ്, അവിടെ നിങ്ങൾക്ക് SVG പിന്തുണ പരിശോധിക്കാനും സോപാധികമായി പ്രദർശിപ്പിക്കാനും അല്ലെങ്കിൽ ഒരു ഫാൾബാക്ക് ഇമേജ് ഉപയോഗിക്കാതിരിക്കാനും കഴിയും. തുടർന്ന് നിങ്ങൾക്ക് SVG ഉൾച്ചേർക്കാനും നിങ്ങൾക്ക് ആവശ്യമുള്ള ശൈലികൾ പ്രയോഗിക്കാനും കഴിയും.
#time-3-icon ( പൂരിപ്പിക്കുക: പച്ച; ) .my-svg-alternate ( display: none; ) .no-svg .my-svg-alternate ( ഡിസ്പ്ലേ: ബ്ലോക്ക്; വീതി: 100px; ഉയരം: 100px; പശ്ചാത്തല-ചിത്രം : url(image.png); )
നിങ്ങൾക്ക് ഒരു SVG ഉൾപ്പെടുത്താം, നിങ്ങളുടെ ഫാൾബാക്ക് ഇമേജ് ഒരു ക്ലാസ് നാമത്തിൽ ടാഗ് ചെയ്യാം (my-svg-alternate):
കൂടാതെ CSS-ൽ, SVG പിന്തുണ പരിശോധിക്കാൻ Modernizr-ൽ നിന്നുള്ള no-svg ക്ലാസ് ഉപയോഗിക്കുക (CDN: http://ajax.aspnetcdn.com/ajax/modernizr/modernizr-2.7.2.js). SVG പിന്തുണ ഇല്ലെങ്കിൽ, SVG ബ്ലോക്ക് അവഗണിക്കപ്പെടുകയും ചിത്രം പ്രദർശിപ്പിക്കുകയും ചെയ്യും, അല്ലാത്തപക്ഷം ചിത്രം DOM ട്രീയിൽ നിന്ന് നീക്കം ചെയ്യപ്പെടും (ഡിസ്പ്ലേ: ഒന്നുമില്ല):
My-svg-alternate ( display: none; ) .no-svg .my-svg-alternate (ഡിസ്പ്ലേ: ബ്ലോക്ക്; വീതി: 100px; ഉയരം: 100px; പശ്ചാത്തല-ചിത്രം: url(image.png); )
തുടർന്ന് നിങ്ങളുടെ ഇൻലൈൻ ഘടകത്തിന്റെ നിറം മാറ്റാം:
#സമയം-3-ഐക്കൺ (പൂരിപ്പിക്കുക: പച്ച;)
ഏതെങ്കിലും SVG-യുടെ നിറം മാറ്റാൻ, നിങ്ങൾക്ക് നേരിട്ട് svg കോഡ് മാറ്റാവുന്നതാണ് , തുറക്കൽ svg ഫയൽഏതിലെങ്കിലും ടെക്സ്റ്റ് എഡിറ്റർ . കോഡ് ഇതുപോലെയാകാം:
ഉണ്ടെന്ന് നിങ്ങൾ ശ്രദ്ധിച്ചേക്കാം ചിലത് XML ടാഗുകൾ, പാത, വൃത്തം, ബഹുഭുജം മുതലായവ.. അവിടെ നിങ്ങൾക്ക് ആട്രിബ്യൂട്ട് ഉപയോഗിച്ച് നിങ്ങളുടെ സ്വന്തം നിറം ചേർക്കാൻ കഴിയും ശൈലി. ചുവടെയുള്ള ഉദാഹരണം നോക്കുക
എല്ലാ ടാഗുകളിലും ഒരു സ്റ്റൈൽ ആട്രിബ്യൂട്ട് ചേർക്കുക, അതിലൂടെ നിങ്ങൾക്ക് ആവശ്യമുള്ള നിറത്തിൽ നിങ്ങളുടെ SVG ലഭിക്കും
ഏതെങ്കിലും SVG നിറം മാറ്റാൻ ഞാൻ പിന്തുടരുന്ന ഘട്ടങ്ങൾ:
- ആദ്യം ടാഗുകൾ ഉപയോഗിച്ച് SVG ഇമേജ് ചേർക്കുക img
- ഏതെങ്കിലും പരിവർത്തനം ചെയ്യാൻ ഇനിപ്പറയുന്നവ ഉപയോഗിക്കുക കോഡ് HEX നിറങ്ങൾ ഫിൽട്ടറിംഗിനായി:
ഉദാഹരണത്തിന്, ഔട്ട്പുട്ട് #00EE00:
ഫിൽട്ടർ: വിപരീതം(42%) സെപിയ(93%) സാച്ചുറേറ്റ്(1352%) ഹ്യൂ-റൊട്ടേറ്റ്(87ഡിഗ്രി) തെളിച്ചം(119%) കോൺട്രാസ്റ്റ്(119%);
https://icomoon.io/app/#/select അല്ലെങ്കിൽ അത്തരത്തിലുള്ള ഒരു സേവനം ഉപയോഗിച്ച് SVG-യിൽ നിന്ന് ഒരു ഫോണ്ട് സൃഷ്ടിക്കുക എന്നതാണ് ഏറ്റവും എളുപ്പമുള്ള മാർഗം. SVG ഡൗൺലോഡ് ചെയ്യുക, "ഫോണ്ട് ജനറേറ്റ് ചെയ്യുക" ക്ലിക്ക് ചെയ്യുക, നിങ്ങളുടെ വശത്തുള്ള ഫോണ്ടും css ഫയലുകളും ഉൾപ്പെടുത്തി മറ്റേതൊരു ടെക്സ്റ്റും പോലെ അത് ഉപയോഗിക്കുകയും സൃഷ്ടിക്കുകയും ചെയ്യുക. ഞാൻ ഇത് എല്ലായ്പ്പോഴും ഈ രീതിയിൽ ഉപയോഗിക്കുന്നു, കാരണം ഇത് സ്റ്റൈലിംഗ് എളുപ്പമാക്കുന്നു.
എഡിറ്റ്:ൽ സൂചിപ്പിച്ചതുപോലെ ലേഖനം, @CodeMouse92 പ്രതീകങ്ങൾ, നശിച്ച സ്ക്രീൻഷോട്ടുകൾ (എസ്ഇഒയ്ക്ക് മോശമായേക്കാം) എന്നിവ ഉപയോഗിച്ച് കമന്റ് ചെയ്തു. അതിനാൽ എസ്വിജിയിൽ ഉറച്ചുനിൽക്കുക.
പാത വിവരങ്ങളുള്ള SVG മാത്രം. ഒരു ചിത്രം ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഇത് ചെയ്യാൻ കഴിയില്ല... ഒരു പാത എന്ന നിലയിൽ നിങ്ങൾക്ക് സ്ട്രോക്ക് മാറ്റാനും വിവരങ്ങൾ പൂരിപ്പിക്കാനും കഴിയും, നിങ്ങൾ പൂർത്തിയാക്കി. ഒരു ചിത്രകാരനായി
അതിനാൽ: കൂടെ CSS ഉപയോഗിക്കുന്നുനിങ്ങൾക്ക് പാതയുടെ പൂരിപ്പിക്കൽ മൂല്യം തിരുത്തിയെഴുതാം
പാത (പൂരിപ്പിക്കുക: ഓറഞ്ച്;)
എന്നാൽ ഹോവർ ഇഫക്റ്റ് ഉള്ളപ്പോൾ ടെക്സ്റ്റ് ഉപയോഗിച്ച് മാറ്റാൻ ആഗ്രഹിക്കുന്നതുപോലെ കൂടുതൽ വഴക്കമുള്ള മാർഗം നിങ്ങൾക്ക് വേണമെങ്കിൽ.. ഉപയോഗിക്കുക.
പാത (പൂരിപ്പിക്കുക: നിലവിലെ നിറം; )
ബോഡി (പശ്ചാത്തലം: #ddd; ടെക്സ്റ്റ്-അലൈൻ: സെന്റർ; പാഡിംഗ്-ടോപ്പ്: 2എം; ) .പാരന്റ് (വീതി: 320px; ഉയരം: 50px; ഡിസ്പ്ലേ: ബ്ലോക്ക്; സംക്രമണം: എല്ലാ 0.3സെ; കഴ്സർ: പോയിന്റർ; പാഡിംഗ്: 12px; ബോക്സ് -sizing: border-box; ) /*** കുട്ടികൾക്ക് ആവശ്യമുള്ള നിറങ്ങൾ */ .parent( color: #000; background: #def; ) .parent:hover(color: #fff; background: #85c1fc; ) .parent span( font-size: 18px; margin-right: 8px; font-weight: Bold; font-family: "Helvetica"; line-height: 26px; vertical-align: top; .parent svg( max-height : 26px; വീതി: ഓട്ടോ; ഡിസ്പ്ലേ: ഇൻലൈൻ; ) /**** മാജിക് ട്രിക്ക് *****/ .parent svg പാത്ത്( പൂരിപ്പിക്കുക: കറന്റ് കളർ; )
SVG ആനിമേഷനെക്കുറിച്ച് സംസാരിക്കാൻ തുടങ്ങുന്നതിനുമുമ്പ്, SVG എന്താണെന്ന് നമുക്ക് മനസ്സിലാക്കാം.
എസ്
കേബിൾ
വി
ector
ജി
റാഫിക്സ് -
സ്കെയിലബിൾ മാർക്ക്അപ്പ് ഇൻ
വെക്റ്റർ ഗ്രാഫിക്സ്. ദ്വിമാന വെക്ടറും മിക്സഡ് വെക്ടർ/റാസ്റ്റർ ഗ്രാഫിക്സും വിവരിക്കാൻ രൂപകൽപ്പന ചെയ്തിരിക്കുന്നു XML ഫോർമാറ്റ്. ഏതെങ്കിലും ഇന്റർമീഡിയറ്റ് കോർഡിനേറ്റുകൾ വഴി ആരംഭ പോയിന്റിൽ നിന്ന് അവസാന പോയിന്റിലേക്കുള്ള പാത വിവരിക്കുന്ന ഒരു കോംപാക്റ്റ് സ്ട്രിംഗ് ഉപയോഗിച്ച് ഏത് ചിത്രവും വ്യക്തമാക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു.
SVG ഫോർമാറ്റിന് നിരവധി ഗുണങ്ങളുണ്ട്:
SVG- വെക്റ്റർ ഫോർമാറ്റ്, കൂടാതെ ഗുണനിലവാരം നഷ്ടപ്പെടാതെ ചിത്രം സ്കെയിൽ ചെയ്യാൻ ഇത് നിങ്ങളെ അനുവദിക്കുന്നു.
ടെക്സ്റ്റ് ഇൻ ചെയ്യുക SVG ഗ്രാഫിക്സ്ഒരു ഇമേജ് അല്ല, അതിനാൽ അത് തിരഞ്ഞെടുക്കാനും പകർത്താനും കഴിയും, അത് സെർച്ച് എഞ്ചിനുകളാൽ സൂചികയിലാക്കിയിരിക്കുന്നു.
SVG- തുറന്ന നിലവാരം, അതായത്, SVG ഫയലിന്റെ ഉള്ളടക്കം മാറ്റിക്കൊണ്ട് ഉപയോക്താവിന് ഡ്രോയിംഗ് മാറ്റാൻ കഴിയും.
വിവരിക്കാൻ ഉപയോഗിക്കുന്ന സ്റ്റൈൽ ഷീറ്റുകൾക്ക് (CSS) അനുയോജ്യമാണ് രൂപംവെബ്സൈറ്റ് പേജുകൾ.
SMIL ഭാഷ ഉപയോഗിച്ചാണ് SVG-യിൽ ആനിമേഷൻ നടപ്പിലാക്കുന്നത്. JavaScript ഉപയോഗിച്ച് മൂലകങ്ങൾ നിയന്ത്രിക്കാവുന്നതാണ്.
കൂടാതെ നിരവധി പോരായ്മകൾ, അവയില്ലാതെ നമ്മൾ എവിടെയായിരിക്കും:
-
വലിയ മാപ്പിംഗ് ആപ്ലിക്കേഷനുകളിൽ ഉപയോഗിക്കാൻ പ്രയാസമാണ്. ചെറിയ വിശദാംശങ്ങൾ വിവരിക്കാൻ വളരെ ശ്രമകരമാണ്.
ഒരു ഇമേജിൽ കൂടുതൽ സൂക്ഷ്മമായ വിശദാംശങ്ങൾ ഉണ്ടെങ്കിൽ, SVG ഡാറ്റയുടെ വലുപ്പം വേഗത്തിൽ വളരുന്നു.
ഉദാഹരണം SVG കോഡ്:
ഈ കോഡിന്റെ നിർവ്വഹണം:
ഈ ചിത്രത്തിൽ, നിങ്ങൾക്ക് കോഡിലെ പാരാമീറ്ററുകൾ മാറ്റാൻ കഴിയും. ഉദാഹരണത്തിന്, ഒരു ചിത്രമുള്ള ഒരു ചിത്രത്തിന് 35.5 KB എടുക്കും, SVG കോഡ് 426 ബൈറ്റുകൾ എടുക്കും.
അങ്ങനെ ഞങ്ങൾ ക്രമേണ SVG ആനിമേഷൻ (SMIL) ഉപയോഗിക്കുന്ന സംഭാഷണത്തിലേക്ക് വരുന്നു. നിരവധി ആനിമേഷൻ ഘടകങ്ങൾ ഉപയോഗിച്ച് SVG ഗ്രാഫിക്സ് ആനിമേറ്റ് ചെയ്യാൻ കഴിയും. ഉദാഹരണത്തിന്, പട്ടികകൾ ഉപയോഗിച്ച് CSS ശൈലികൾ.
ഒരു ഡെവലപ്പർ എന്തുകൊണ്ട് SMIL ഉപയോഗിക്കണം? CSS ഉപയോഗിച്ച് മാറ്റാനോ ആനിമേറ്റ് ചെയ്യാനോ കഴിയാത്ത ചില SVG പ്രോപ്പർട്ടികൾ ഉണ്ട്. ഉദാഹരണത്തിന്, ഘടകത്തിന്റെ ആകൃതി നിർവചിക്കുന്ന ഒരു കൂട്ടം ഡാറ്റ അടങ്ങുന്ന ആട്രിബ്യൂട്ട് d=””. നഷ്ടമായ CSS ആനിമേഷൻ കഴിവുകൾ പൂരിപ്പിക്കാൻ കഴിയും JavaScript ഉപയോഗിക്കുന്നു. ഇതിനായി നിരവധി ലൈബ്രറികളുണ്ട്. ബ്രൗസർ (ഉദാഹരണത്തിന് Opera Mini) SMIL ആനിമേഷനെ പിന്തുണയ്ക്കുന്നില്ലെങ്കിൽ ഇത് അഭികാമ്യമാണ്.
xlink:href ഉപയോഗിച്ചാണ് ആനിമേഷൻ ലക്ഷ്യം വ്യക്തമാക്കിയിരിക്കുന്നത്.
xlink:href ആട്രിബ്യൂട്ട് സജ്ജീകരിച്ചിട്ടില്ലെങ്കിൽ, പാരന്റ് ഘടകം ടാർഗെറ്റ് ഘടകമായി മാറുന്നു:
അനിമേറ്റ് ചെയ്യുന്ന ആട്രിബ്യൂട്ടിന്റെ പേര് വ്യക്തമാക്കാൻ ആട്രിബ്യൂട്ട് നെയിം ആട്രിബ്യൂട്ട് ഉപയോഗിക്കുന്നു. ഉദാഹരണത്തിന്, നിങ്ങൾക്ക് Y അക്ഷത്തിൽ ഒരു ആകൃതിയുടെ മധ്യഭാഗത്തിന്റെ സ്ഥാനം ആനിമേറ്റ് ചെയ്യണമെങ്കിൽ, ആട്രിബ്യൂട്ട് നെയിം ആട്രിബ്യൂട്ടിന്റെ മൂല്യമായി നിങ്ങൾ "cy" സജ്ജീകരിക്കേണ്ടതുണ്ട്.
മുമ്പത്തെ ഉദാഹരണത്തിൽ നിന്ന് നീല വൃത്തത്തിന്റെ Y അച്ചുതണ്ട് ചലനത്തെ ആനിമേറ്റ് ചെയ്യുന്ന കോഡ് ഇതാ:
5 സെക്കൻഡിനുള്ളിൽ (dur="5s"), നീല വൃത്തത്തിൽ (ആരംഭം="ക്ലിക്ക്") ക്ലിക്കുചെയ്ത ശേഷം, അത് Y അക്ഷത്തിൽ "300" മുതൽ പോയിന്റ് വരെ = "100" വരെ നീങ്ങും. എക്സിക്യൂഷന് ശേഷം, ആനിമേഷൻ അവസാന പോയിന്റിൽ നിർത്തും (fill="freeze"). ആനിമേഷൻ അനിശ്ചിതമായി ആവർത്തിക്കാൻ സജ്ജീകരിക്കാൻ, repeatCount="indefinite" ആട്രിബ്യൂട്ട് ചേർക്കുക.
പേജ് ലോഡുചെയ്തതിന് ശേഷം പ്രവർത്തിക്കാൻ ആരംഭിക്കുന്നതിന് നിങ്ങൾക്ക് ആനിമേഷൻ സജ്ജമാക്കാനും കഴിയും. അല്ലെങ്കിൽ ലോഡ് ചെയ്തതിന് ശേഷം കുറച്ച് സമയത്തിന് ശേഷം ഒരു ഫംഗ്ഷൻ പ്രവർത്തനക്ഷമമാക്കുക, ഒരു ക്ലിക്കിന് ശേഷം കാലതാമസത്തോടെ ഒരു പേജ് എലമെന്റിന്റെ ആനിമേഷൻ ചേർക്കുക, തുടങ്ങിയവ.
വാസ്തവത്തിൽ, SVG ആനിമേഷൻ വളരെ വലിയ വിഷയമാണ്. കോഡ് ഉദാഹരണങ്ങളും അവയുടെ നിർവ്വഹണവും ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഒരു വലിയ ലേഖനം എഴുതാൻ കഴിയും, എന്നാൽ അതേ സമയം, ചില സവിശേഷതകൾ ആക്സസ് ചെയ്യാൻ കഴിയില്ല. ടെക്സ്റ്റ് ആനിമേഷൻ ഉൾപ്പെടെ. എന്നാൽ ഇത് തികച്ചും വ്യത്യസ്തമായ ഒരു കഥയാണ്, അത് ഞങ്ങൾ ഭാവി ബ്ലോഗ് ലേഖനങ്ങളിൽ പര്യവേക്ഷണം ചെയ്യും.