SVG Градієнти - Лінійний
SVG Градієнти
Градієнт - це плавний перехід від одного кольору до іншого. Крім того, до одного елемента можна застосувати декілька переходів кольорів.
У SVG є два основних типи градієнтів:
- Лінійний
- Радіальний
SVG Лінійний градієнт - <linearGradient>
Елемент <linearGradient>
використовується для визначення лінійного градієнта.
Елемент <linearGradient>
має бути вкладений у тег <defs>
. Тег <defs>
є скороченням від definitions і містить визначення спеціальних елементів (таких як градієнти).
Лінійні градієнти можна визначити як горизонтальні, вертикальні або кутові градієнти:
- Горизонтальні градієнти створюються, коли y1 та y2 рівні, а x1 та x2 відрізняються
- Вертикальні градієнти створюються, коли x1 та x2 рівні, а y1 та y2 відрізняються
- Кутові градієнти створюються, коли x1 та x2 відрізняються, а y1 та y2 відрізняються
Приклад 1
Визначте еліпс із горизонтальним лінійним градієнтом від жовтого до червоного:
Ось код SVG:
Приклад
<svg height="150" width="400">
<defs>
<linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" style="stop-color:rgb(255,255,0);stop-opacity:1" />
<stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1" />
</linearGradient>
</defs>
<ellipse cx="200" cy="70" rx="85" ry="55" fill="url(#grad1)" />
</svg>
Спробуйте самі »
Пояснення прикладу:
- Атрибут id тегу
<linearGradient>
визначає унікальну назву для градієнта - Атрибути x1, x2, y1, y2 тегу
<linearGradient>
визначає початкове та кінцеве положення градієнта - Діапазон кольорів для градієнта може складатися з двох або більше кольорів. Кожен колір позначається тегом
<stop>
. Атрибут offset використовується для визначення місця початку та кінця кольору градієнта - Атрибут fill пов’язує елемент еліпса з градієнтом
Приклад 2
Визначте еліпс з вертикальним лінійним градієнтом від жовтого до червоного:
Ось код SVG:
Приклад
<svg height="150" width="400">
<defs>
<linearGradient id="grad2" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:rgb(255,0,0);stop-opacity:1" />
<stop offset="100%" style="stop-color:rgb(255,255,0);stop-opacity:1" />
</linearGradient>
</defs>
<ellipse cx="200" cy="70" rx="85" ry="55" fill="url(#grad2)" />
</svg>
Спробуйте самі »
Приклад 3
Визначте еліпс із горизонтальним лінійним градієнтом від жовтого до червоного та додайте текст усередині еліпса:
Ось код SVG:
Приклад
<svg height="150" width="400">
<defs>
<linearGradient id="grad3" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" style="stop-color:rgb(255,255,0);stop-opacity:1" />
<stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1" />
</linearGradient>
</defs>
<ellipse cx="200" cy="70" rx="85" ry="55" fill="url(#grad3)" />
<text fill="#ffffff" font-size="45" font-family="Verdana" x="150" y="86">
SVG</text>
</svg>
Спробуйте самі »
Пояснення коду:
- Елемент
<text>
використовується для додавання тексту