ЛУЧШИЙ САЙТ ДЛЯ РАЗРАБОТЧИКОВ
×

HTML учебник

HTML HOME HTML Introduction HTML Editors HTML Basic HTML Elements HTML Attributes HTML Headings HTML Paragraphs HTML Styles HTML Formatting HTML Quotations HTML Comments HTML Colors HTML CSS HTML Links HTML Images HTML Tables HTML Lists HTML Blocks HTML Classes HTML Id HTML Iframes HTML JavaScript HTML File Paths HTML Head HTML Layout HTML Responsive HTML Computercode HTML Entities HTML Symbols HTML Charset HTML URL Encode HTML XHTML

HTML Forms

HTML Forms HTML Form Elements HTML Input Types HTML Input Attributes

HTML5

HTML5 Intro HTML5 Support HTML5 New Elements HTML5 Semantics HTML5 Migration HTML5 Style Guide

HTML Graphics

HTML Canvas HTML SVG HTML Google Maps

HTML Media

HTML Media HTML Video HTML Audio HTML Plug-ins HTML YouTube

HTML APIs

HTML Geolocation HTML Drag/Drop HTML Web Storage HTML Web Workers HTML SSE

HTML Examples

HTML Examples HTML Accessibility

HTML References

HTML Tag List HTML Attributes HTML Events HTML Colors HTML Canvas HTML Audio/Video HTML Doctypes HTML Character Sets HTML URL Encode HTML Lang Codes HTTP Messages HTTP Methods PX to EM Converter Keyboard Shortcuts


HTML5 SVG


Что такое SVG?

  • SVG расшифровывается как масштабируемая векторная графика
  • SVG используется для определения графики для веб-
  • SVG является рекомендацией W3C

Элемент HTML <SVG>

Элемент HTML <svg> является контейнером для графики SVG.

SVG имеет несколько методов рисования контуров, прямоугольников, кругов, текста и графических изображений.


Поддержка браузера

Номера в таблице указывают первую версию обозревателя, полностью поддерживающую элемент <svg>.

Element
<svg> 4.0 9.0 3.0 3.2 10.1

Круг SVG

Пример

<!DOCTYPE html>
<html>
<body>

<svg width="100" height="100">
  <circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
</svg>

</body>
</html>


Прямоугольник SVG



Пример

<svg width="400" height="100">
  <rect width="400" height="100" style="fill:rgb(0,0,255);stroke-width:10;stroke:rgb(0,0,0)" />
</svg>

Прямоугольник с закругленными углами SVG

Sorry, your browser does not support inline SVG.

Пример

<svg width="400" height="180">
  <rect x="50" y="20" rx="20" ry="20" width="150" height="150"
  style="fill:red;stroke:black;stroke-width:5;opacity:0.5" />
</svg>

SVG звезда

Sorry, your browser does not support inline SVG.

Пример

<svg width="300" height="200">
  <polygon points="100,10 40,198 190,78 10,78 160,198"
  style="fill:lime;stroke:purple;stroke-width:5;fill-rule:evenodd;" />
</svg>

Логотип SVG

SVG Sorry, your browser does not support inline SVG.

Пример

<svg height="130" width="500">
  <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="100" cy="70" rx="85" ry="55" fill="url(#grad1)" />
  <text fill="#ffffff" font-size="45" font-family="Verdana" x="50" y="86">SVG</text>
  Sorry, your browser does not support inline SVG.
</svg>

Различия между SVG и Canvas

SVG — это язык для описания 2D-графики в XML.

Canvas рисует 2D графику, на лету (с JavaScript).

SVG основан на XML, что означает, что каждый элемент доступен в SVG DOM. Можно присоединить обработчики событий JavaScript для элемента.

В SVG каждая Рисованная фигура запоминается как объект. При изменении атрибутов объекта SVG обозреватель может автоматически повторно визуализировать фигуру.

Холст визуализируется пиксель за пикселем. В Canvas, после рисования рисунка, он забывается браузером. Если его положение должно быть изменено, вся сцена должна быть перерисована, включая любые объекты, которые могли быть охвачены графическим объектом.


Сравнение холста и SVG

В таблице ниже показаны некоторые важные отличия между Canvas и SVG:

Холст SVG
  • Зависит от разрешения
  • Нет поддержки обработчиков событий
  • Неудовлетворительные возможности отрисовки текста
  • Полученное изображение можно сохранить как .PNG или .jpg
  • Хорошо подходит для графических интенсивных игр
  • Разрешение независимо
  • Поддержка обработчиков событий
  • Лучше всего подходит для приложений с большими областями визуализации (Google Maps)
  • Медленный рендеринг, если сложный (все, что использует DOM много будет медленно)
  • Не подходит для игровых приложений

SVG Справочник

Чтобы узнать больше о SVG, прочитайте справочник по SVG.