Kuandaa SVG kwa matumizi kwenye wavuti ni mchakato rahisi sana, sio ngumu zaidi kuliko kusafirisha JPEG au PNG. Tumia kihariri chochote cha michoro unachokifahamu (Kielelezo, Mchoro, Inkscape [bila malipo], n.k. [au hata Photoshop ikiwa unatumia safu za umbo]) katika saizi ya picha unayopanga kutumia. Kawaida mimi hufanya kazi katika Illustrator, kwa hivyo nitaelezea baadhi ya njia za kuandaa faili katika programu hiyo, lakini kwa ujumla zinatumika kwa programu yoyote. Unaweza kutaka kubadilisha maandishi yako kuwa curves, kwani fonti itatoa uwezekano usio sahihi, isipokuwa ikiwa utapanga kuyapanga kwa fonti ya wavuti inayotumika kwenye ukurasa (ambayo inawezekana!). Pia sio wazo nzuri kubadilisha vitu vyote kuwa maumbo moja, haswa ikiwa una viboko ambavyo vitahitaji kubadilishwa kwenye ukurasa, haswa kwani kubadilisha vitu mara nyingi hakupunguzi saizi ya faili. Majina yoyote yaliyogawiwa kwa vikundi au tabaka yataongezwa kwenye SVG kama kitambulisho cha kipengele. Hii ni rahisi kabisa kwa styling, lakini itaongeza saizi ya jumla faili.
Kabla ya kuhamisha, unahitaji kuangalia kwamba picha zote ziko kwenye gridi ya pikseli kamili (yaani, kwa mfano si 23.3px × 86.8px). Vinginevyo, uwezekano mkubwa wa picha haitakuwa na uwazi wa kutosha na sehemu ya picha itakatwa. Katika Kielelezo hii inaweza kufanywa kama ifuatavyo: Kitu > Ubao wa Sanaa > Inafaa kwa Mipaka ya Sanaa. Kisha bofya hifadhi kama na uchague SVG, na uache mipangilio chaguo-msingi. Kuna uboreshaji kidogo tunaoweza kufanya hapa, lakini haifai kwa kuwa tutakuwa tukitumia mbinu mbalimbali za uboreshaji baadaye, kwa hivyo hatutapoteza muda kwenye marekebisho hayo kwa sasa.
Mbinu za kupunguza ukubwa wa faili.
(Angalia uboreshaji)
Ili kufikia ukubwa mdogo wa SVG, itakuwa busara kuondoa kila kitu kisichohitajika kutoka kwake. Maarufu zaidi na programu muhimu(Na angalau Nadhani hivyo) kwa usindikaji SVG ni SVGO . Yeye huondoa yote kanuni inayohitajika. Lakini! Kuwa mwangalifu unapotumia programu hii ikiwa unapanga kudhibiti SVG ukitumia CSS/JS, kwani inaweza kusafisha msimbo kupita kiasi, na kufanya mabadiliko yajayo kuwa magumu. Urahisi mwingine wa SVGO ni kwamba inaweza kujumuishwa katika mchakato wa kujenga mradi kiotomatiki, lakini pia unaweza kutumia. GUI ukitaka.
Kuelewa kwa undani zaidi na kuondolewa kwa usahihi kila kitu kisichohitajika, tunaweza kufanya kitu kingine ndani mhariri wa picha. Kwanza unahitaji kuhakikisha kuwa unatumia njia / maumbo machache iwezekanavyo, pamoja na vidokezo kwenye njia hizo. Unaweza kuchanganya na kurahisisha kila kitu ambacho kinaweza kurahisishwa, na kufuta kila kitu pointi zisizo za lazima. Illustrator ina programu-jalizi ya VectorScribe yenye Zana ya Brashi ya Kuondoa Mahiri, ambayo itakusaidia kuondoa pointi na bado kuondoka. sura ya jumla Sawa.
Uboreshaji wa awali
Zana ya Smart Ondoa Brashi imeondolewa pointi
Ifuatayo, tutapanua picha. Katika Illustrator, ni rahisi kuwasha Tazama > Onyesho la Kuchungulia la Pixel kwa gridi ya pikseli na uangalie jinsi muhtasari umewekwa. Itachukua muda kidogo kuweka muhtasari kwenye gridi ya taifa, lakini jitihada zitalipa na kusababisha utoaji safi (ni bora kulipa kipaumbele kwa hili mapema).
Alama nje ya gridi ya taifa
Pangilia kwenye Gridi
Ikiwa kuna vitu viwili au zaidi vya kusawazisha, basi inafaa kuondoa miingiliano yote isiyo ya lazima. Wakati mwingine, hata ikiwa contours ni iliyokaa kwa uangalifu, mstari mwembamba mweupe unaweza kuonekana. Ili kuzuia hili, unaweza kuingiliana kidogo vitu ambako vinaingiliana. Muhimu: katika SVG, z-index ina utaratibu fulani, ambayo inategemea kitu hapa chini, hivyo ni thamani ya kuweka kitu cha juu chini ya faili katika kanuni.
Na hatimaye, mwisho lakini sio uchache, kitu ambacho husahaulika ni kuwezesha ukandamizaji wa gzip wa SVG kwenye tovuti yako katika faili ya .htaccess.
AddType image/svg+xml svg svgz
Kama mfano wa jinsi mbinu hii inavyofaa, nitachukua nembo ya awali ya Kuvunja Mipaka na kuiboresha kwa njia hii: ongeza ukubwa kwa inavyopaswa kuwa; Nitaweka mtaro kwa mpangilio; Nitafuta pointi nyingi iwezekanavyo; songa pointi kwa saizi kamili; Nitahamisha maeneo yote yanayoingiliana na kutuma yote kwa SVGO.
Asili: 1.413b
Baada ya uboreshaji: 409b
Kama matokeo, saizi ya faili ikawa ~ 71% ndogo (na ~ 83% ndogo wakati imebanwa)
Leo, kuna zaidi ya njia moja ya kuunda uhuishaji wa SVG. Hii inaweza kufanywa kwa kutumia tepe ambayo imeingizwa moja kwa moja kwenye msimbo wa SVG. Kuna maktaba maalum kama vile Snap.svg au SVG.js.
Tutaangalia mbinu tofauti kidogo: kutumia SVG ya ndani (msimbo wa SVG moja kwa moja kwenye HTML) na uhuishaji. sehemu za mtu binafsi moja kwa moja kupitia CSS.
Hivi majuzi nilijaribu njia hii, katika mradi wa alma mater Wufoo, kama kiburudisho kidogo juu ya mada ambayo tutakuwa tunashughulikia hapa.
Sijatumia SVG sana katika miradi yangu ya hivi majuzi, kwa hivyo nadhani nakala hii ni fursa nzuri ya kuipa kipaumbele zaidi.
Mwonekano wa mwisho wa uhuishaji ni rahisi sana. Hivi ndivyo inavyoonekana:
Tazama kwenye CodePen
Hebu tuangalie jinsi hii inafanywa.
1. Tengeneza orodha ya vipengele ambavyo tutatumia
Inaweza kuonekana kuwa kuna kazi nyingi hapa kwa namna ya kuteka bundi, lakini makala hii ni kuhusu uhuishaji, kwa hiyo hebu tushughulike na graphics haraka iwezekanavyo.
Mpango wangu ulikuwa kutengeneza tangazo rahisi sana la Wufoo kwa kutumia nembo yao ya kawaida, rangi na mtindo wa ushirika. Na kisha ongeza ubunifu kidogo:
- Unda athari kwamba herufi zinatoka kwenye ukurasa. Wufoo ni neno la kufurahisha, acha herufi ziwe za kufurahisha pia;
- Siku moja kabla, tulitengeneza fulana yenye dinosaur mbele na maneno nyuma: “ Haraka. Smart. Grozny" Hizi ni sifa ambazo dinosaurs na Wufoo hushiriki. Bila kutaja ukweli kwamba tulicheza kwenye neno "FORMidble" (ya kutisha). Kwa hivyo nilitaka kufanya maneno haya yaonekane na kutoweka kwenye kizuizi cha uhuishaji;
- Ili kuunganisha maneno haya na dinosaur, tutakuwa na kichwa cha T-Rex kuonekana na kisha kutoweka haraka. Hii itaonyesha neno "Haraka", ambalo litakuwa kiungo kingine cha kuvutia kwa vipengele.
- Nilipakia vitu hivi vyote kwenye Illustrator:
Angalia jinsi maandishi ya nembo na kauli mbiu yameainishwa. Hii inamaanisha kuwa ni maumbo ya vekta tu, na athari zinaweza kutumika kwao kwa urahisi, katika SVG na ndani
Maandishi unayoyaona ni “Haraka. ” inasalia katika Illustrator katika umbizo la maandishi.
Ninapohifadhi faili kwenye Illustrator, uandishi utabaki kuwa kitu.
2. Hifadhi katika umbizo la SVG
Illustrator inasaidia kuhifadhi kama SVG:
Unaweza kufungua faili hii ya SVG katika kihariri cha msimbo na uone msimbo wa SVG ndani yake:
3. Safisha SVG na uweke madarasa ya maumbo
Unaweza kuendesha nambari kupitia SVGO ili kuiboresha na kuisafisha vipengele visivyohitajika chapa DOCTYPE na kadhalika.
Lakini kilicho muhimu zaidi kwetu sasa ni kuyapa maumbo majina tofauti ya darasa ili tuyateue katika CSS na kufanya mambo tofauti!
4. Weka SVG
Unaweza kunakili msimbo huu wa SVG na ubandike moja kwa moja kwenye HTML ambapo ungependa kizuizi kionekane. Lakini hii ni kiolezo cha primitive.
Unaweza kufanya kitu kama hiki:
5. Uhuishaji!
Sasa maumbo haya yote yanaendeshwa kwenye DOM, na tunaweza kuyaweka na kuweka mitindo kama nyingine yoyote Kipengele cha HTML. Hebu tufanye hivyo.
Wacha tuseme tunataka kutumia kalenda ya matukio ya sekunde 10:
Maneno ya kwanza huanguka na kutoweka
Jambo la kwanza tunataka kufanya ni kuchapisha maneno " Haraka. Smart. Grozny.»Kila neno litaonyeshwa kwa sekunde moja.
Hivi ndivyo tunavyounda uhuishaji ambapo kila neno huchukua 10% ya muda:
@keyframes hideshow ( 0% ( opacity: 1; ) 10% ( opacity: 1; ) 15% ( opacity: 0; ) 100% ( opacity: 0; ) )
Kisha tunataja neno la kwanza na muda wa uhuishaji wote kwa sekunde 10 (10% ambayo ni sekunde 1):
Maandishi-1 ( uhuishaji: Ficha onyesho la miaka 10 urahisi usio na kikomo; )
Maneno mawili yafuatayo yatafichwa kwanza (opacity: 0; ), na kisha tutatumia uhuishaji sawa, tu kwa kuchelewa kwa muda, ili maneno yafuatayo yataonekana baadaye kidogo:
Maandishi-2 ( opacity: 0; uhuishaji: hideshow 10s 1.5s urahisi infinite; ) .text-3 ( opacity: 0; uhuishaji: hideshow 10s 3s urahisi infinite;)
Sekunde 0.5 za ziada zinahitajika ili kuweka muda kati ya matokeo ya kila neno linalofuata.
Kuruka barua
Mara tu tukiweka uhuishaji wa kipengele hiki, tunaendelea na athari kwa herufi katika neno Wufoo, ambayo inapaswa kuruka kando kama hii:
Ujanja hapa ni kwamba tunaunda athari ya uhuishaji, ambayo huchukua sekunde 5 tu, lakini tunaiendesha mbele mara moja na kisha kwa mwelekeo tofauti.
Kwa hivyo italingana na chati yetu ya sekunde 10, na itapatikana katikati ya kalenda ya matukio. Tunachopaswa kufanya ni kuweka vigezo vya kusogeza athari ya uhuishaji katika mwelekeo mmoja, kwa sababu lini kusongesha nyuma itarudi tu kwenye nafasi yake ya awali.
Athari za kila herufi zina kucheleweshwa kwa muda kidogo, kwa hivyo hazisogei zote kwa wakati mmoja, lakini moja baada ya nyingine:
Wufoo-herufi ( uhuishaji: kaboom 5s kurahisisha mbadala usio na kikomo; &:nth-child(2) ( kucheleweshwa kwa uhuishaji: 0.1s; ) &:nth-child(3) ( kucheleweshwa kwa uhuishaji: 0.2s; ) &:nth- mtoto(4) ( kucheleweshwa kwa uhuishaji: 0.3s; ) &:nth-child(5) ( kucheleweshwa kwa uhuishaji: 0.4s; ) ) @keyframes kaboom ( 90% ( badilisha: mizani(1.0); ) 100% ( badilisha : kipimo(1.1);))
Nambari ya SCSS hapo juu ni toleo fupi tu, haijumuishi viambishi awali (ambavyo utahitaji katika mazoezi).
Nadhani ucheleweshaji wa uhuishaji ni mali ambayo inaweza kuwa muhimu kuchukua kutoka kwa CSS asili. Ingeonekana nadhifu zaidi wakati herufi zinasogea kwa kuchelewa kidogo.
Na hatimaye, dinosaur
Baada ya maandishi haya kuangaza kwenye kizuizi, kichwa cha dinosaur hutoka chini. Licha ya ukweli kwamba takwimu ya dinosaur inajumuisha kiasi kikubwa vipengele, tunaweza kuziweka zote pamoja kwa kutumia lebo ya kuweka (kikundi), ambayo ina vipengele hivi vyote.
Kwa kuwa ni bora zaidi kutumia mabadiliko ili kuweka uhuishaji, tutafanya hivi kwa kutumia keyframes :
@keyframes ibukizi ( 0% ( badilisha: translateY(150px); ) 34% ( badilisha: translateY(20px); ) 37% ( badilisha: translateY(150px); ) 100% ( badilisha: translateY(150px); ) )
Tunataka uhuishaji huu uonyeshwe katika "mwisho" takriban sekunde 3. Mzunguko huu hufanya kazi kwa sekunde 10 nzima, lakini utaona athari halisi zinazoonekana wakati wa sekunde 3 za mwisho.
Wakati translateY(150px) inatumika katika athari, dinosaur husogea chini sana nje ya kisanduku hivi kwamba huwezi kuiona.
Lakini kwa 37% ya muda wa uhuishaji huu (kama sekunde 3) unamwona akienda juu polepole na kisha kurudi chini haraka.
Tunapotumia uhuishaji huu tutahakikisha kwamba:
- Dinosaur imefichwa mwanzoni;
- Pato la kipande hiki cha uhuishaji hucheleweshwa kwa wakati, kwa hivyo huanza mara baada ya herufi katika neno la nembo kumaliza densi yao (wamehamia kando na kurudi mahali pao).
Trex ( badilisha: translateY(150px); uhuishaji: ibukizi 10s 6.5s urahisi usio na kikomo;)
Dinoso huanguka chini sekunde ya mwisho ili neno "Haraka" lionekane tena kwenye kizuizi (muda wa uchezaji wa uhuishaji umewekwa kuwa usio na mwisho ili uendeshe kwenye mduara tena na tena). Inaongeza harambee ya kufurahisha.
6. Kufanya kizuizi kuwa tangazo linaloweza kubofya/ingiliana
Moja ya vipengele muhimu SVG ni uwezo wa kuongeza vitu kwa saizi yoyote bila kupoteza ubora.
Ili kuunda kisanduku cha SVG cha ndani huku tukidumisha ubora asili wa picha, tunaweza kutumia mbinu ya kisanduku cha ol'.
.wufoo-ad-wrap ( urefu: 0; padding-top: 100%; nafasi: jamaa; ) .wufoo-ad ( nafasi: kabisa; juu: 0; kushoto: 0; upana: 100%; urefu: 100%; )Wazo ni kwamba "wrapper" daima itachukua sura ya mraba, kulingana na upana wake. Kisha tunauliza maadili kamili Nafasi za SVG ndani ya mraba huu mzuri, vipimo ambavyo vinarekebishwa kulingana na upana.
Kwa kuwa hili ni tangazo (ambalo, bila shaka, linahitaji kubofya), basi kama chombo kilicho na, badala ya
Imetayarishwa na: Evgeny Ryzhkov Tarehe ya kuchapishwa: 08/27/2010
Sasisho la mwisho: 11/17/2010
Kazi
Onyesha picha ya SVG kwenye ukurasa wa HTML.
Kuna njia kadhaa za kufanya hivyo, lakini sio zote ni kivinjari.
SVG kupitia iframe
Uwepo wa sura kwa wengi tayari unamaliza njia hii. Siku hizi kuna njia za juu zaidi za kutatua tatizo hili. Kwa kuongeza, katika fomu hii haitawezekana kutekeleza picha za uwazi (sura ina historia), na pia hakuna upatikanaji kutoka kwa maandiko ya nje hadi vipengele vya picha.
SVG kupitia kitu
Tunayo: nambari safi halali, maandishi mbadala, ambapo unaweza kumpa mtumiaji maagizo ya nini cha kufanya ikiwa haoni picha (kwa mfano, umtumie kwenye wavuti ya kivinjari cha kawaida au upe kiunga cha programu-jalizi, ufungaji ambao utamsaidia). Utekelezaji huu unaauni uwazi katika picha ya SVG (ingawa kuna tatizo katika IE: maeneo yenye uwazi yatajazwa na nyeupe). Ya minuses: hakuna njia ya kushawishi picha zilizo na maandishi ya nje (kutoka HTML), ni zile tu zilizo kwenye faili ya SVG yenyewe.
Njia hiyo ni nzuri kwa picha za mandharinyuma au picha zozote tuli.
SVG kupitia kupachika
Njia hii inadaiwa inaruhusu maandishi katika HTML kuingiliana na yaliyomo kwenye faili ya SVG (bado sijaweza kufanikisha hili). Kwa IE ina sifa ya wmode (
Njia hii sasa ni maarufu sana.
SVG katika msimbo wa HTML
- Unapaswa kuzingatia nafasi ya majina inayotumiwa: xmlns:svg="http://www.w3.org/2000/svg">;
- hati lazima iwe katika umbizo la xhtml (nchini ni faili iliyo na kiendelezi .xhtml)
- Njia hii ina utangamano duni wa kivinjari. Jibu la IE ni baya sana;
- nambari ya html inakuwa chafu sana.
Ni bora kutotumia njia hii sasa.
noti
IE, pamoja na matoleo ya 8, haitumii SVG. Wakati huo, Microsoft ilikuwa ikikuza umbizo lake - VML. Kwa hivyo, itabidi uangalie kivinjari hiki ili kuona picha ya SVG huko pia (zaidi juu ya hii katika nakala zifuatazo).
Wakati ujao mkali
Inavyoonekana, katika siku za usoni, muundo wa SVG utaingia kabisa maisha ya watengenezaji wa wavuti. Ili kuthibitisha hili, unaweza tayari kupata maelezo ya njia za kuvutia za kutekeleza SVG. Watengenezaji wa kivinjari wanasema kwamba matoleo mapya ya ubunifu wao yatasaidia baadhi au njia zote zifuatazo za kuunganisha SVG.
9 majibu
Huwezi kubadilisha rangi ya picha kwa njia hii. Ukipakia SVG kama picha, hutaweza kubadilisha jinsi inavyoonyeshwa kwa kutumia CSS au Javascript kwenye kivinjari.
Ikiwa unataka kubadilisha picha ya SVG lazima uipakie kwa kutumia
Ikiwa unataka kutumia mbinu kwenye ukurasa, unahitaji maktaba ya Modernizr, ambapo unaweza kuangalia usaidizi wa SVG na kuonyesha kwa masharti au usitumie picha mbadala. Kisha unaweza kupachika SVG na kutumia mitindo unayotaka.
#time-3-ikoni ( jaza: kijani; ) .my-svg-alternate ( onyesho: hakuna; ) .no-svg .my-svg-alternate ( onyesho: block; upana: 100px; urefu: 100px; picha ya usuli : url (picha.png);)
Unaweza kupachika SVG, kuweka tagi picha yako mbadala kwa jina la darasa (my-svg-alternate):
Na katika CSS, tumia no-svg darasa kutoka Modernizr (CDN: http://ajax.aspnetcdn.com/ajax/modernizr/modernizr-2.7.2.js) kujaribu usaidizi wa SVG. Ikiwa hakuna usaidizi wa SVG, kizuizi cha SVG kitapuuzwa na picha itaonyeshwa, vinginevyo picha itaondolewa kwenye mti wa DOM (onyesha: hakuna):
My-svg-alternate ( onyesho: hakuna; ) .no-svg .my-svg-alternate ( onyesho: block; upana: 100px; urefu: 100px; picha ya usuli: url(image.png); )
Basi unaweza kubadilisha rangi ya kipengee chako cha ndani:
#time-3-ikoni ( jaza: kijani; )
Ili kubadilisha rangi ya SVG yoyote, unaweza kubadilisha moja kwa moja msimbo wa svg , kufunguliwa faili ya svg katika yoyote mhariri wa maandishi . Nambari inaweza kuonekana kama hii:
Unaweza kugundua kuwa kuna baadhi Lebo za XML, kama vile njia, duara, poligoni, n.k.. Huko unaweza kuongeza rangi yako mwenyewe kwa kutumia sifa mtindo. Tazama mfano hapa chini
Ongeza sifa ya mtindo kwa lebo zote ili uweze kupata SVG yako katika rangi unayotaka
Hatua ninazofuata kubadilisha rangi yoyote ya SVG:
- Kwanza ongeza picha ya SVG kwa kutumia vitambulisho img
- Tumia zifuatazo kubadilisha yoyote kanuni Rangi za HEX kwa kuchuja:
Kwa mfano, pato la #00EE00:
Kichujio: Geuza (42%) sepia(93%) saturate(1352%) hue-rotate(87deg) mwangaza(119%) tofauti(119%);
Njia rahisi ni kuunda fonti kutoka kwa SVG kwa kutumia huduma kama https://icomoon.io/app/#/select au vile. pakua SVG, bofya "toa fonti", jumuisha fonti na faili za css upande wako na utumie tu na uunde kama maandishi mengine yoyote. Mimi huitumia kwa njia hii kila wakati kwa sababu hurahisisha mtindo.
BONYEZA: Kama ilivyotajwa katika makala, alitoa maoni na herufi za @CodeMouse92, picha za skrini zilizoharibiwa (na labda mbaya kwa SEO). Kwa hivyo badala ya kushikamana na SVG.
SVG pekee iliyo na habari ya njia. Huwezi kufanya hivi na picha... kama njia unaweza kubadilisha kiharusi na kujaza habari na umemaliza. kama mchoraji
Kwa hivyo: na kwa kutumia CSS unaweza kubatilisha thamani ya kujaza ya njia
Njia ( jaza: machungwa; )
lakini ikiwa unataka njia rahisi zaidi kama unavyotaka kuibadilisha na maandishi wakati kuna athari ya kuelea.. tumia
Njia ( jaza: currentcolor; )
mwili ( usuli: #ddd; panga maandishi: katikati; pedi-juu: 2em; ) .mzazi ( upana: 320px; urefu: 50px; onyesho: kizuizi; mpito: zote 0.3; kishale: pointer; padding: 12px; sanduku -sizing: kisanduku cha mpaka; ) /*** rangi zinazohitajika kwa watoto ***/ .mzazi( rangi: #000; usuli: #def; ) .mzazi:hover( rangi: #fff; usuli: #85c1fc; ) .span ya mzazi( saizi ya herufi: 18px; pambizo-kulia: 8px; uzito wa fonti: herufi nzito; familia ya fonti: "Helvetica"; urefu wa mstari: 26px; panga kwa wima: juu; ) .svg ya mzazi( max-urefu : 26px; upana: otomatiki; onyesho: ndani ya mstari; ) /**** hila ya uchawi *****/ .njia ya svg ya mzazi( jaza: currentcolor; )
Kabla ya kuanza kuzungumza juu ya uhuishaji wa SVG, hebu tuelewe SVG ni nini.
S
yenye uwezo
V
ekta
G
Raphics -
markup scalable katika
michoro ya vekta. Imeundwa kuelezea vekta yenye pande mbili na michoro mchanganyiko ya vekta/rasta Umbizo la XML. Inakuruhusu kubainisha kielelezo chochote kwa mfuatano wa mfuatano unaoelezea njia kutoka sehemu ya kuanzia hadi sehemu ya kumalizia kupitia viwianishi vyovyote vya kati.
Fomati ya SVG ina faida kadhaa:
SVG- muundo wa vekta, na hii inakuwezesha kuongeza picha bila kupoteza ubora.
Tuma maandishi Picha za SVG si picha, hivyo inaweza kuchaguliwa na kunakiliwa, ni indexed na injini ya utafutaji.
SVG- wazi kiwango, yaani, mtumiaji anaweza kubadilisha mchoro kwa kubadilisha maudhui ya faili ya SVG.
Inaoana na laha za mtindo (CSS) ambazo hutumika kuelezea mwonekano kurasa za tovuti.
Uhuishaji unatekelezwa katika SVG kwa kutumia lugha ya SMIL. Vipengele vinaweza kudhibitiwa kwa kutumia JavaScript.
Na shida kadhaa, tungekuwa wapi bila wao:
-
Ni ngumu kutumia katika programu kubwa za uchoraji ramani. Maelezo madogo ni magumu sana kuyaelezea.
Maelezo mazuri zaidi yapo kwenye picha, ndivyo saizi ya data ya SVG inakua haraka.
Mfano wa nambari ya SVG:
Utekelezaji wa kanuni hii:
Katika picha hii, unaweza kubadilisha tu vigezo katika msimbo. Kwa mfano, picha iliyo na picha inachukua 35.5 KB, na msimbo wa SVG unachukua ka 426.
Na kwa hivyo polepole tunakuja kwenye mazungumzo ya kutumia uhuishaji wa SVG (SMIL). Picha za SVG zinaweza kuhuishwa kwa kutumia vipengele kadhaa vya uhuishaji. Kwa mfano, kwa kutumia meza Mitindo ya CSS.
Kwa hivyo kwa nini msanidi programu atumie SMIL? Kuna baadhi ya sifa za SVG ambazo haziwezi kubadilishwa au kuhuishwa kwa kutumia CSS. Kwa mfano, sifa d=””, ambayo ina seti ya data inayofafanua sura ya kipengele. Uwezo wa uhuishaji wa CSS unaokosekana unaweza kujazwa kwa kutumia JavaScript. Kuna idadi ya maktaba kwa hili. Hii itapendekezwa ikiwa kivinjari (kwa mfano Opera Mini) hakiauni uhuishaji wa SMIL.
Lengo la uhuishaji limebainishwa kwa kutumia xlink:href.
Ikiwa sifa ya xlink:href haijawekwa, basi kipengele kikuu kinakuwa kipengele kinacholengwa:
Sifa ya attributeName inatumika kubainisha jina la sifa ambayo itahuishwa. Kwa mfano, ikiwa unataka kuhuisha nafasi ya katikati ya umbo kwenye mhimili wa Y, unahitaji kuweka "cy" kama thamani ya sifaName ya sifa.
Hapa kuna nambari inayohuisha harakati ya mhimili wa Y wa duara ya bluu kutoka kwa mfano uliopita:
Ndani ya sekunde 5 (dur="5s"), baada ya kubofya duara la buluu (anza = "bofya"), itasogea kwenye mhimili wa Y, kuanzia hatua kutoka = "300" hadi kwa = "100". Baada ya utekelezaji, uhuishaji utasimama kwenye sehemu ya mwisho (jaza = "kufungia"). Ili kuweka uhuishaji ujirudie kwa muda usiojulikana, ongeza tu sifa ya repeatCount="indefinite".
Unaweza pia kuweka uhuishaji kuanza kufanya kazi baada ya upakiaji wa ukurasa. Au unganisha chaguo za kukokotoa baada ya muda kupita baada ya kupakia, ongeza uhuishaji wa kipengele cha ukurasa kwa kuchelewa baada ya kubofya, na kadhalika.
Kwa kweli, uhuishaji wa SVG ni mada kubwa sana. Unaweza kuandika makala kubwa na mifano ya kanuni na utekelezaji wao, lakini wakati huo huo, baadhi ya vipengele bado hazipatikani. Ikiwa ni pamoja na uhuishaji wa maandishi. Lakini hii ni hadithi tofauti kabisa, ambayo tutachunguza katika makala za blogi zijazo.