НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ
Графіка. Уроки W3Schools українською для початківців

En

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:

Приклад

<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:

Приклад

<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.

Ось код 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> використовується для додавання тексту