ΠΠ½ΠΈΠΌΠ°ΡΠΈΡ SVG-Π³ΡΠ°ΡΠΈΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ JavaScript
ΠΠΎΠ³Π΄Π° SVG-Π³ΡΠ°ΡΠΈΠΊΠ° Π²ΡΡΠ°Π²Π»Π΅Π½Π° Π² ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΠ΅Π³Π° object ΠΈΠ»ΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΊΠΎΠ΄ ΡΠ°ΠΌΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ SVG-Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ Π½Π°ΠΏΡΡΠΌΡΡ ΠΈΠ»ΠΈ ΠΎΠΏΠΎΡΡΠ΅Π΄ΠΎΠ²Π°Π½Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ JavaScript.
ΠΠΎΠ΄ ΠΎΠΏΠΎΡΡΠ΅Π΄ΠΎΠ²Π°Π½Π½ΠΎΡΡΡΡ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ JavaScript ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠ»Π°ΡΡ ΡΠ°ΠΌΠΎΠ³ΠΎ SVG-ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π° SVG-Π³ΡΠ°ΡΠΈΠΊΠ°, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°ΡΡ Π·Π°ΠΏΡΡΠΊ CSS-Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
svg {
/* Π½Π΅Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ */
}
.added-with-js svg {
/* Π΅ΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ */
}
ΠΠΎ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΡΠ΅ΠΊΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΊ SVG-Π³ΡΠ°ΡΠΈΠΊΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ JavaScript Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
ΠΡΠ»ΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π°ΡΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π΄Π²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°, ΡΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π²ΡΡΡΠ½ΡΡ ΠΊΠΎΠ΄ JavaScript Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½Π΅Π΅, ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠΈΡ Π·Π°Π΄Π°ΡΡ. ΠΠΎ Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π½ΡΡΡ ΡΡΡΠ΅ΠΊΡΠ°ΠΌ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ»ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠ°ΠΊ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠΊΠ°Π»Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠΎ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΠΎΠΌΠΎΡΡ Π² ΡΡΠΎΠΌ ΠΌΠΎΠ³ΡΡ ΠΎΠΊΠ°Π·Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ JavaScript. Π ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΡΡΠ΅ΡΠ΅ Π²Π°ΠΌ ΡΠ΅ΡΠ°ΡΡ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΡΠ°Π²Π΄Π°Π½Π½ΡΠΌ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΡΡΠΆΠ΅Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ Π·Π° ΡΡΠ΅Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² Π½Π΅Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΡΠ΅Π»ΠΈ.
ΠΠ»Ρ ΠΏΡΠΈΠ΄Π°Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΎΠ² Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ SVG-Π³ΡΠ°ΡΠΈΠΊΠ΅ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ JavaScript Ρ ΠΎΡΡ ΠΏΠΎΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ GreenSock (http://greensock.com), Velocity.js (http://julian.com/research/velocity/) ΠΈΠ»ΠΈ Snap.svg (http://snapsvg.io/). ΠΠ°Π»Π΅Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ GreenSock.
ΠΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ SVG-Π³ΡΠ°ΡΠΈΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ GreenSock. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Ρ ΠΊΡΡΠ³Π»ΠΎΠΉ ΡΠΊΠ°Π»ΠΎΠΉ, ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π°Π΅ΠΌΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠ΅Π»ΡΠΊΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ ΠΎΡ Π½ΡΠ»Π΅Π²ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π΄ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ Π²Π²ΠΎΠ΄ΠΈΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π½ΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΡΡΠ³Π»ΠΎΠΉ ΡΠΊΠ°Π»Π΅ ΠΊΠ°ΠΊ ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅, ΡΠ°ΠΊ ΠΈ ΠΏΠΎ ΡΠ²Π΅ΡΡ, Π½ΠΎ ΠΈ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΈΡΠ»ΠΎ ΠΎΡ Π½ΡΠ»Ρ Π΄ΠΎ Π²Π²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² ΡΠ°ΠΉΠ»Π΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° example_07-08.
ΠΡΠ»ΠΈ Π±ΡΠ΄Π΅Ρ Π²Π²Π΅Π΄Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 75 ΠΈ Π½Π°ΠΆΠ°ΡΠ° ΠΊΠ½ΠΎΠΏΠΊΠ° Π·Π°ΠΏΡΡΠΊΠ° Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, ΠΊΡΡΠ³Π»Π°Ρ ΡΠΊΠ°Π»Π° Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π° ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΊΠ°ΡΡΠΈΠ½Π°.
ΠΠΌΠ΅ΡΡΠΎ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠΊΠΈ Π²ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π° JavaScript, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π², ΡΡΠΎΠ±Ρ ΡΡΠΈΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅, Π΄Π»Ρ ΠΊΡΠ°ΡΠΊΠΎΡΡΠΈ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ΄ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ².
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π·Π°ΠΌΡΡΠ΅Π» ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½Π° Π² Π²ΠΈΠ΄Π΅ SVG-ΡΠ΅Π³Π° <path>, Π° Π½Π΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° <circle>. Π’ΠΎ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΡΡ, ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π½ΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΠΎ ΠΎΠ½ ΠΏΡΠΎΡΠΈΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ stroke-dashoffset. ΠΡΠ°ΡΠΊΠΎΠ΅ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ JavaScript Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»ΠΈΠ½Ρ ΠΏΡΡΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ Π°ΡΡΠΈΠ±ΡΡ stroke-dasharray Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π΄Π»ΠΈΠ½Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΠΎΠΉ Π½Π° ΡΠΊΡΠ°Π½ ΡΠ°ΡΡΠΈ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ ΠΈ Π΄Π»ΠΈΠ½Ρ ΠΏΡΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠ°. ΠΠ°ΡΠ΅ΠΌ stroke-dashoffset ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠ΅ΡΡΠ° ΡΡΠ°ΡΡΠ° ΡΡΠΎΠ³ΠΎ dasharray. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΎΠ±Π²ΠΎΠ΄ ΠΏΠΎ ΠΊΠΎΠ½ΡΡΡΡ Π²Π½Π΅ ΠΏΡΡΠΈ ΠΈ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΎΠ±Π²ΠΎΠ΄. ΠΡΠΎ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΈΠ»Π»ΡΠ·ΠΈΡ, ΡΡΠΎ ΠΏΡΡΡ ΠΏΡΠΎΡΠΈΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ.
ΠΡΠ»ΠΈ Π±Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ dasharray Π±ΡΠ»ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌ ΡΡΠ°ΡΠΈΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΆΠ΅ ΡΡΡΠ΅ΠΊΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ CSS-Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΡΠΎΠ± ΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ (Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ CSS-Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π° Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π³Π»Π°Π²Π΅).
ΠΠΎ Π²Π΄ΠΎΠ±Π°Π²ΠΎΠΊ ΠΊ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ ΠΏΡΠΎΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ½Ρ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠΊΠΎΡΡΠΈ ΡΠ²Π΅ΡΠ° ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊ Π΄ΡΡΠ³ΠΎΠΌΡ ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΠΏΠΎΠ΄ΡΡΠ΅Ρ Π΄ΠΎ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ·Π»Π΅. ΠΡΠ° Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΡΡΠΎΠ΄Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌΡ ΠΏΠΎΡ Π»ΠΎΠΏΡΠ²Π°Π½ΠΈΡ ΠΏΠΎ Π³ΠΎΠ»ΠΎΠ²Π΅, ΠΏΠΎΠ³Π»Π°ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΆΠΈΠ²ΠΎΡΠ° ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌΡ ΠΎΡΡΡΠ΅ΡΡ ΠΎΡ 10 000. Π‘ΡΠ΅Π΄ΡΡΠ²ΠΎ GreenSock ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ Π·Π°Π΄Π°ΡΡ β Π² Π°Π½ΠΈΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΎΠ½ΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡ Π»ΠΎΠΏΡΠ²Π°ΡΡ Π²Π°Ρ ΠΏΠΎ Π³ΠΎΠ»ΠΎΠ²Π΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ³Π»Π°ΠΆΠΈΠ²Π°ΡΡ ΠΏΠΎ ΠΆΠΈΠ²ΠΎΡΡ, Ρ ΠΎΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ ΠΎΡΡΡΠ΅Ρ ΠΎΡ 10 000. ΠΠΎΡ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° JavaScript, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅, ΡΡΠΎΠ±Ρ Π·Π°ΡΡΠ°Π²ΠΈΡΡ GreenSock Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π²ΡΠ΅ ΡΡΠΈ Π·Π°Π΄Π°ΡΠΈ:
// Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΠΏΡΠΎΡΠΈΡΠΎΠ²ΠΊΠΈ Π»ΠΈΠ½ΠΈΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ²Π΅ΡΠ°
TweenLite.to(circlePath, 1.5, {'stroke-dashoffset': "-"+amount,
stroke: strokeEndColour});
// ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΡΠ΅ΡΡΠΈΠΊΠ° Π² Π½ΡΠ»Ρ ΠΈ Π΅Π³ΠΎ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π΄ΠΎ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
var counter = { var: 0 };
TweenLite.to(counter, 1.5, {
var: inputValue,
onUpdate: function () {
text.textContent = Math.ceil(counter.var) + "%";
},
ease:Circ.easeOut
});
ΠΠΎ ΡΡΡΠΈ, ΡΡΠ½ΠΊΡΠΈΠΈ TweenLite.to() ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ: ΡΠΎ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π½ΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, Π²ΡΠ΅ΠΌΡ, Π·Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΠ° Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡΡΡ, Π° Π·Π°ΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ (ΠΈ ΡΠΎ, ΡΡΠΎ Π² Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ).
Π‘Π°ΠΉΡ GreenSock ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΡΠ»ΠΈΡΠ½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΡΡΠΌΡ, ΠΈ Π΅ΡΠ»ΠΈ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π»ΡΠΉ ΡΡΠ΄ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΉ, Π²ΡΠΊΡΠΎΠΈΡΠ΅ Π΄Π΅Π½Π΅ΠΊ Π² ΡΠ²ΠΎΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΈ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ GreenSock.
ΡΠΎΠ²Π΅Ρ
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π΅ΡΠ΅ Π½Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Ρ SVG-ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ ΠΏΡΠΎΡΠΈΡΠΎΠ²ΠΊΠΈ Π»ΠΈΠ½ΠΈΠΉ, ΠΎΠ½Π° Π±ΡΠ»Π° ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π° Π² Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅ ΠΆΡΡΠ½Π°Π»ΠΎΠΌ Polygon, ΠΊΠΎΠ³Π΄Π° Vox Media Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°Π»Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠΈΡΠΎΠ²ΠΎΠΊ Π»ΠΈΠ½ΠΈΠΉ Π² ΠΈΠ³ΡΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΠΎΠ»ΡΡ Xbox One ΠΈ Playstation 4. ΠΡΡ ΠΎΠ΄Π½ΡΡ ΡΡΠ°ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ http://product.voxmedia.com/2013/11/25/54 26880/polygon-feature-design-svg-animations-for-fun-and-profit.
ΠΡΡΡ Π΅ΡΠ΅ Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½ΠΎΠ΅ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΎΡΠ½ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ ΠΠΆΠ΅ΠΉΠΊΠΎΠΌ ΠΡΡΠΈΠ±Π°Π»ΡΠ΄ΠΎΠΌ (Jake Archibald) ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ http://jakearchibald.com/2013/animated-line-drawing-svg/.
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ SVG
ΠΠ°ΠΊ Π΄ΠΎΠ±ΡΠΎΡΠΎΠ²Π΅ΡΡΠ½ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠΈΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΡΠ²ΠΎΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ². ΠΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ SVG-Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, ΡΠΏΠΎΡΠΎΠ±Π½ΡΠΌΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΡ SVG-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ². ΠΡΠΎΠΌΠ΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎΠΉ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ), ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ΅Π»ΡΡ ΠΊΡΡΡ ΠΌΠΈΠΊΡΠΎΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΡΡΠΌΠΌΠ΅ Π΄Π΅Π»Π°ΡΡ SVG-Π°ΠΊΡΠΈΠ²Ρ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½Π΅Π΅.
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°ΡΡ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ SVGO (https://github.com/svg/svgo). ΠΡΠ»ΠΈ Π²Π°ΠΌ Π΅ΡΠ΅ Π½Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ SVGO, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π½Π°ΡΠ°ΡΡ Ρ SVGOMG (https://jakearchibald.github.io/svgomg/). ΠΡΠΎ Π²Π΅ΡΡΠΈΡ SVGO, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½Π°Ρ Π½Π° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ° ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΠΎΠ»ΡΡΠ°Ρ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΡ ΡΠ΅Π°ΠΊΡΠΈΡ Π² Π²ΠΈΠ΄Π΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
ΠΠΎΠΌΠ½ΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ SVG-ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π·Π²Π΅Π·Π΄Ρ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π² Π½Π°ΡΠ°Π»Π΅ Π³Π»Π°Π²Ρ? Π ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ ΡΡΠΎΡ ΠΏΡΠΎΡΡΠΎΠΉ SVG-Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 489 Π±Π°ΠΉΡ. ΠΡΠΎΠΏΡΡΡΠΈΠ² Π΅Π³ΠΎ ΡΠ΅ΡΠ΅Π· SVGO, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π΄ΠΎ 218 Π±Π°ΠΉΡ, ΠΎΡΡΠ°Π²ΠΈΠ² Π½Π° ΠΌΠ΅ΡΡΠ΅ viewBox. Π’Π΅ΠΌ ΡΠ°ΠΌΡΠΌ Π±ΡΠ΄Π΅Ρ ΡΡΠΊΠΎΠ½ΠΎΠΌΠ»Π΅Π½ΠΎ 55,42 % ΠΎΠ±ΡΠ΅ΠΌΠ°. ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ SVG-ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΡΠ°ΠΊΠ°Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ»ΠΈΡΡΡΡ Π² Π²Π΅ΡΡΠΌΠ° ΡΠΎΠ»ΠΈΠ΄Π½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ SVG-ΡΠ°Π·ΠΌΠ΅ΡΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄:
<svg width="198" height="188" viewBox="00198188" xmlns="http://
www.w3.org/2000/svg"><path stroke="#979797" stroke-width="3"
fill="#F8E81C" d="M99154l-58.7830.90211.227-65.45L3.89473.097l65.717-9.55L994l29.3959.5565.7169.548-47.55346.35311.22665.454z"/></svg>
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΠΎΡΡΠ°ΡΠΈΡΡ ΡΠΉΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ SVGO, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΠΈ SVGO ΡΡΠΈΠΌ ΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ SVG-ΡΡΠ΅Π΄ΡΡΠ²Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°Π½Π΅Π΅ ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Iconizr (http://iconizr.com/) ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ Π²Π°ΡΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΎΠ³ΠΎΠ½ΡΠ΅Ρ SVG-ΡΠ°ΠΉΠ»Ρ ΡΠ΅ΡΠ΅Π· SVGO, ΠΈΠ·Π±Π°Π²Π»ΡΡ Π²Π°Ρ ΠΎΡ Π½Π΅Π½ΡΠΆΠ½ΠΎΠΉ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ SVG Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΈΠ»ΡΡΡΠΎΠ²
Π Π³Π»Π°Π²Π΅ 6 ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΈΡΡ ΡΡΡΠ΅ΠΊΡΡ, ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ ΡΠΈΠ»ΡΡΡΠ°ΠΌΠΈ CSS. ΠΠΎ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π² Internet Explorer 10 ΠΈΠ»ΠΈ 11 ΠΎΠ½ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ. ΠΡΠ»ΠΈ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π»ΠΈΡΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΡΡΠΈΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ ΡΡΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΡΠΈΠ»ΡΡΡΠΎΠ², ΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ, ΠΊΡΠΎΠΌΠ΅ Π΄ΠΎΡΠ°Π΄Ρ, Π½Π΅ ΠΈΡΠΏΡΡΠ°Π΅ΡΠ΅. Π ΡΡΠ°ΡΡΡΡ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ SVG ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΈΠ»ΡΡΡΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ ΠΈ Π² Internet Explorer 10 ΠΈ 11, Π½ΠΎ, ΠΊΠ°ΠΊ Π²ΡΠ΅Π³Π΄Π°, Π²ΡΠ΅ Π½Π΅ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΡΠ΅Π±Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ°ΠΉΠ»Π΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° example_07-05 ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΠ°, Π² ΡΠ΅Π»Π΅ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠ°:
<img class="HRH" src=" [email protected]"/>
ΠΡΠΎ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡ ΠΊΠΎΡΠΎΠ»Π΅Π²Ρ ΠΠ΅Π»ΠΈΠΊΠΎΠ±ΡΠΈΡΠ°Π½ΠΈΠΈ. ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΒΡΡΠΈΠΉ Π²ΠΈΠ΄.
Π ΡΡΠΎΠΌ ΠΆΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ SVG-Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Ρ ΡΠΈΠ»ΡΡΡΠΎΠΌ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ Π² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°Ρ defs. Π Π°Π·ΠΌΠ΅ΡΠΊΠ° SVG ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<defs>
<filter id="myfilter" x="0" y="0">
<feColorMatrix in="SourceGraphic" type="hueRotate"
values="90" result="A"/>
<feGaussianBlur in="A" stdDeviation="6"/>
</filter>
</defs>
</svg>
ΠΠ½ΡΡΡΠΈ ΡΠΈΠ»ΡΡΡΠ° ΡΠ½Π°ΡΠ°Π»Π° Π·Π°Π΄Π°Π΅ΡΡΡ Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ½Π° Π½Π° 90Β° Ρ ΠΏΠΎΠΌΠΎΡΡΡ feColorMatrix, Π° Π·Π°ΡΠ΅ΠΌ ΡΡΠΎΡ ΡΡΡΠ΅ΠΊΡ ΡΠ΅ΡΠ΅Π· Π°ΡΡΠΈΠ±ΡΡ result ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠΈΠ»ΡΡΡΡ (feGaussianBlur) ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π·ΠΌΡΡΠΈΡ, ΡΠ°Π²Π½ΡΠΌ 6. Π‘ΡΠ°Π·Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°Ρ, ΡΡΠΎ Π·Π°Π΄Π°Π» ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΆΠ΅ΡΡΠΊΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π² ΡΡΠ΅ΡΠ± ΡΡΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ Π²ΠΎΡΠΏΡΠΈΡΡΠΈΡ Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎ, ΡΡΠΎΠ±Ρ Ρ Π½Π°Ρ Π½Π΅ ΠΎΡΡΠ°Π»ΠΎΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΠΎΠΌΠ½Π΅Π½ΠΈΠΉ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΡΠ΅ΠΊΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ!
Π’Π΅ΠΏΠ΅ΡΡ Π²ΠΌΠ΅ΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΡΠΎΠΉ SVG-ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ ΠΊ HTML ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΡΠ°Π²ΠΈΡΡ Π΅Π΅ ΡΠ°ΠΌ, Π³Π΄Π΅ ΠΎΠ½Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ, ΠΈ ΡΠΎΡΠ»Π°ΡΡΡΡ Π½Π° Π½Π΅Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΡ ΠΆΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ CSS-ΡΠΈΠ»ΡΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π³Π»Π°Π²Π΅:
.HRH {
filter: url('filter.svg#myfilter');
}
Π ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ (Chrome, Safari, Firefox) Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΡΠ΅ΠΊΡ.
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Internet Explorer 10 ΠΈΠ»ΠΈ 11. ΠΠΎ Π΅ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ Π½Π°ΡΠ΅ΠΉ ΡΠ΅Π»ΠΈ, Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉΡΡ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π³Π° image SVG-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΡΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ. Π ΡΠ°ΠΉΠ»Π΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° example_07-06 ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠ°: