Товаров: 0 (0р.)

Svg графика: Знакомство с SVG-графикой / Хабр

Содержание

Описание и примеры стандартных функций SVG

Доминирующей причиной появления этого блога стало незаслуженное забвение на целых десять лет языка разметки масштабируемой векторной графики – SVG (Scalable Vector Graphics), входящего в подмножество расширяемого языка разметки XML.
Стандарт SVG 1.0 был принят в качестве спецификации Консорциумом Всемирной паутины (W3C) в сентябре 2001 г. Стандарт SVG 1.1 и его версии SVG mobile profiles (SVG Basic and SVG Tiny) были приняты консорциумом в качестве рекомендации в январе 2003 г.
Сейчас ведутся работы по созданию стандарта SVG 2.0

Основные преимущества формата SVG.

Я не буду долго распространяться о преимуществах векторной графики перед растровой в вебдизайне, замечу лишь, что, однажды созданный, файл в формате SVG одинаково хорошо выглядит без потери качества и на мобильном устройстве и на станционарном мониторе домашнего ПК.
Шапка данного сайта выполнена в формате SVG, попробуйте уменьшить окно браузера до минимальных размеров, картинка на “лету” будет также пропорционально уменьшаться.

SVG – это двухмерная графика и тем не менее это текстовый формат, который можно легко править в блокноте или просто рисовать в векторных редакторах: Incscape , Adobe illustrator, CorelDRAW

Бесконечное полотно документа svg.

Итак, как происходит формирование векторного изображения.
Документ формата SVG – это двухмерный объект, который может иметь бесконечные координаты, как в положительном, так и в отрицательном направлении по осям X и Y. Также документ SVG имеет две области просмотра: viewport – системная область просмотра и viewBox – пользовательская область просмотра, положение которой относительно начала системных координат viewport, может задаваться собственной, пользовательской системой координат. Другими словами окно просмотра viewBox, может быть перемещёно в любое место документа SVG, при этом берется фрагмент изображения под ним, который после процесса согласования между viewBox и viewport, возвращается обратно в системную область просмотра viewport, которую видит пользователь. Используя это свойство можно организовать вертикальную или горизонтальную прокрутку изображения, меняя параметры координат viewBox.

При уменьшении размера пользовательского окна просмотра viewbox можно пропорционально увеличивать фрагмент изображения в системной области просмотра или уменьшать его при увеличении размера viewbox.
Таким образом реализуется эффект лупы. Более подробно эти процессы разобраны в статье: Трансформация изображений SVG при изменении параметров Viewbox.

 

Взаимодействие SVG, XML с HTML, CSS, Jscript

В SVG, как и в HTML можно добавлять ссылки на внешние ресурсы. Но если в HTML одна картинка может служить только для одной внешней ссылки, то в SVG документ можно добавлять сколько угодно внешних ссылок . Картинка кликабельна.
Внутрь HTML страницы легко встраивается код SVG документа или целиком подключается внешний SVG файл. Можно наоборот, внутри SVG файла разместить код HTML внутри тегов foreignObject. Получаются интересные эффекты: Внутри SVG файла находится работающий внешний HTML сайт. К SVG формату можно подключать внешние таблицы стилей CSS 2.0, что позволяет управлять сразу несколькими файлами *.svg. Также вполне допустимо подключение стилей внутри файла *.svg внутри тегов style или использовать внутренние стили непосредственно внутри командных строк фигур и путей.

SVG, как любой основанный на XML формат, позволяет использовать для его обработки таблицы трансформации (XSLT).
Преобразуя XML-данные в SVG с помощью простого XSL, можно получить графическое представление текстовых данных, например визуализировать графики, круговые диаграммы, гистограммы и т.д.

Анимация и интерактивность SVG.

Анимация в SVG осуществляется при помощи языка SMIL (Synchronized Multimedia Integration Language). Также поддерживаются скриптовые языки на основе спецификации ECMAScript — это встраиваемый расширяемый язык программирования.

То есть всё находится в одном месте, внутри документа SVG, поэтому нет необходимости для подключения внешних библиотек.
На каждую отдельную фигуру или на целое изображение можно установить обработчик событий (клик, наведение мышки, нажатие клавиши и т.д), таким образом, пользователь может управлять рисунком. Наведите курсор мышки на кнопку“Start” на примере слева.
По событию mouseover на этой кнопке начнется анимация по команде begin=”startButton.mouseover” – движение цветных шариков по криволинейному пути. Закончится анимация либо через заданные в коде 16 секунд, либо в любой момент по наведению курсора мышки на цветные радиокнопки “Stop”. При этом каждая радиокнопка управляет своим объектом совпадающим по цвету. На рисунке ниже анимация начинается и заканчивается при нажатии клавиши мышки на кнопки GO и STOP. В этом случае работает событие click. Команда на запуск анимации – begin=”gO.click” и соответственно остановка – end=”stop.click”
Следующий пример анимации – плавная отрисовка картинки с нуля до полного изображения.

Уже встроенные в SVG языки программирования позволяют реализовать довольно сложные сценарии анимации. Но, в дополнение к этому есть еще более мощные средства для реализации интерактивности графики и ее анимации – это внешние библиотеки сторонних разработчиков: D3.js, BonsaiJS, Svg.js, Snapsvg.js

Еще примеры анимации ⇛

Недостатки SVG формата

  • С увеличением количества мелких деталей в изображении, быстрее растёт размер файла SVG-данных. Предельный случай — когда изображение представляет собой белый шум. В этом случае SVG не только не даёт никаких преимуществ в размере файла, но даже имеет проигрыш по отношению к растровому формату. На практике, SVG становится невыгоден уже задолго до того, как изображение дойдёт до стадии белого шума.
  • Трудность использования в крупных картографических приложениях из-за того, что для правильного отображения маленькой части изображения документ необходимо прочитать целиком.
  • В настоящее время SVG формат применяется в Интернете сравнительно мало, из-за недостаточной кроссбраузерности. Лучше всего обстоят дела у Mozilla Firefox со встроенным просмотрщиком SVG, так как ее разработчики находятся в рабочей группе Консорциума Всемирной паутины (W3C) по разработке и внедрению стандарта SVG. Хуже всего дела по поддержке формата SVG у Microsoft, которая покинула группу 2003 г. Для Internet Explorer – необходим Adobe SVG Viewer (ASV). С 9 версии IE частично поддерживает функции SVG.
    Браузеры Apple Safari, Google Chrome намного лучше поддерживают SVG, но не полностью, так как SVG – это большая спецификация (вдвое больше HTML 4.01), именно поэтому разработчики браузеров внедряют функции постепенно, от версии к версии. Но абсолютно все разработчики современных браузеров заявляют, что за форматом SVG будущее в области графики вебдизайна.


 

 

UPD. Добавлен новый раздел онлайн генераторы SVG кода path.
следующая: Структура SVG документа ⇛

Формат SVG: особенности, преимущества и недостатки.

Vasyl Holiney Обновлено Loading…

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

SVG — XML язык разметки на основе векторной графики. По сути это текстовый файл, который является открытым веб-стандартом для описания двухмерных векторных изображений без потери качества при масштабировании. Также поддерживает интерактивность и анимацию. Разрабатывается с 1999 года и используется для того, чтобы описать с помощью языка программирования графические элементы сайта.

Акроним: Scalable Vector Graphics.

Тип изображения: векторный. 

Тип сжатия: обычно не сжимается, но может быть сжат без потерь.

Особенности формата .svg

Формат SVG мы упоминали в этой статье, теперь разберем его особенности более подробно:

  • размер SVG-файла не зависит от размера или глубины цвета. На вес влияет сложность точек и линий, с которых состоит изображение;
  • во время масштабирования не теряет информацию, поэтому заменяет собой несколько вариантов растровых файлов для разных разрешений экрана;
  • подходит для печати и индексации поисковыми системами;
  • может быть встроен в html-код сайта, а значит, кешируется вместе с ним и загружается быстрее, чем изображения в .png или .jpeg.

Преимущества и недостатки формата .svg 

Плюсы:

  • масштабируемость без изменения качества — один и тот же логотип будет хорошо выглядеть и на экране смартфона, и на большом экране Retina;
  • простота создания: программисты пишут иконки с помощью xml-кода, веб-дизайнеры рисуют более сложные элементы в редакторах векторной графики Adobe Illustrator, Corel Draw, Sketch или Macromedia Freehand;
  • малый размер: объекты .svg занимают гораздо меньше места, чем их близнецы, созданные как объекты растровой графики;
  • гибкость: при помощи CSS можно изменить параметр графики на сайте, например, цвет фона или позицию логотипа на странице, а при помощи javascript задать анимацию элементов. Также можно отредактировать SVG-файл в графическом редакторе;
  • четкая прорисовка деталей и лучший результат печати.

Минусы:

  • не поддерживается старыми браузерами — Internet Explorer 8 и старше; 
  • WordPress воспринимает .svg как вредоносный код, поэтому блокирует отображение. Обойти блокировку можно с помощью плагинов;
  • подходит для создания примитивных объектов, которые могут быть описаны простыми фигурами или их частями: окружность, прямая, эллипс, прямоугольник и т.д.

Где использовать?

Обычно .svg используют в дизайне иконок, логотипов и элементов пользовательского интерфейса для веб-сайтов. Но область применения этого формата намного больше. С его помощью можно создавать графики и диаграммы, простую инфографику, масштабируемые дорожные карты, легкие игры вроде судоку или кроссвордов.

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

Руководитель отдела маркетинга и главный генератор идей компании Logaster. Автор книги «Как создать фирменный стиль и не разориться». Ценит экспертный подход, но в то же время использует простой язык для объяснения сложных идей.

Что такое SVG-графика и зачем она нужна

Недавно мы рассказывали о том, чем отличается растровая графика от векторной. Если коротко: растровая графика фотореалистичная, состоит из точек, но её нельзя увеличивать бесконечно без потери качества. Векторная графика работает наоборот: она подходит не для фотографий, а больше для простых рисунков, но её можно увеличивать как угодно и качество останется идеальным. 

Сегодня поговорим о том, как рисовать векторную графику в вебе стандартными средствами HTML.

Что такое и зачем нужно SVG

SVG расшифровывается как scalable vector graphics, «масштабируемая векторная графика». Это значит, перед нами векторное изображение, которое можно масштабировать без потери качества.

SVG — это не единственный формат векторной графики, есть много других. Но именно SVG используют на веб-страницах и в HTML-коде. Его инструкции оптимизированы для веб-разработки, и отрисовка происходит прямо в браузере. И, самое главное, все команды SVG представлены в виде текста и координат, а не в виде отдельных файлов. Это значит, что SVG-изображение можно зашить прямо в код веб-страницы, что иногда бывает незаменимо.

SVG используется в вебе для отрисовки:

  • геометрических фигур и линий,
  • логотипов,
  • элементов интерфейса на странице,
  • простых картинок и иллюстраций.

Как использовать SVG на странице

Обычно когда хотят что-то нарисовать в HTML, то используют холст с тегом <canvas> и рисуют на нём. Но плюс SVG-графики в том, что для неё не нужен отдельный холст — можно рисовать что угодно в любом месте страницы с помощью тега <svg>..</svg>. Все объекты, которые нам нужно нарисовать, задаются между этими тегами.

Например, мы можем поставить на странице любой заголовок, а потом прямо поверх него нарисовать пару зелёных кругов и красную линию:

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

Линия

Линия — самый простой элемент SVG-графики. Чтобы нарисовать линию, нам нужно знать:

  • начальные и конечные координаты,
  • толщину линии,
  • и её цвет.

Для линии используется тег <line/>:

<line 

      x1=»50″ y1=»30″ ← начальные координаты линии

      x2=»250″ y2=»0″  ← конечные координаты

      stroke-width=»3″ ← толщина линии

      stroke=»red» ← цвет
/> 

Соберём всё вместе:

<line x1="50" y1="30" x2="250" y2="0" stroke-width="3" stroke="red"/> 

Теперь обернём эту команду в тег <svg>, поставим на страницу и посмотрим на результат:

<!DOCTYPE html>
<html lang="ru" >
<head>
  	<meta charset="UTF-8">
	<title>SVG-графика</title>
</head>
<body>
	<svg>
		<line x1="50" y1="30" x2="250" y2="0" stroke-width="3" stroke="red"/>  
	</svg>
</body>
</html>

Круг

Для круга используется команда <circle/>, в которой нам нужно указать:

  • центр круга,
  • радиус,
  • цвет заливки,
  • толщину контура,
  • цвет контура.

Чтобы нарисовать зелёный круг с жирной фиолетовой обводкой, зададим такие параметры:

<circle 

      cx=»25″ cy=»25″ ← центр круга

      r=»20″  ← радиус

      fill=»green» ← цвет заливки

      stroke-width=»5″  ← толщина контура

      stroke=»rgb(150,110,200)» ← цвет контура

/>

Соберём вместе, добавим второй круг и тоже положим это внутрь тега <svg>:

<circle cx="25" cy="25" r="20" fill="green" stroke-width="5" stroke="rgb(150,110,200)"/>
<circle cx="250" cy="32" r="30" fill="yellow" stroke-width="3" stroke="rgb(50,90,150)"/>

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

С прямоугольниками тоже всё просто — указываем размеры, цвет заливки, а также цвет и толщину контура:

<rect 

      width=»30″ ← ширина

      height=»20″  ← высота

      fill=»orange» ← цвет прямоугольника

      stroke-width=»1″ ← толщина контура

      stroke=»rgb(0,0,0) ← цвет контура

«/>
<rect fill="orange" stroke-width="1" stroke="rgb(0,0,0)"/>

Минус стандартного прямоугольника в том, что он всегда рисуется от точки с координатами (0,0). Если прямоугольник нужен в другом месте, используют многоугольник.

Многоугольник

Многоугольник — это фигура, которая получается так:

  1. Мы задаём любое количество точек по координатам.
  2. Через эти точки по порядку проходят линии, причём последняя точка соединяется с первой.
  3. То, что получилось внутри границ линий, закрашивается выбранным цветом.

Например, вот что нужно, чтобы нарисовать синий треугольник:

<polygon 

      points=» ← начались координаты вершин треугольника

      100,140 ← координаты первой точки

      250,118  ← координаты второй точки

      170,60 » ← координаты третьей точки

      fill=»blue» ← цвет фигуры

      stroke-width=»1″ ← ширина обводки

      stroke=»rgb(0,0,0) ← цвет обводки

«/>
<polygon points="100,140 250,118 170,60 " fill="blue" stroke-width="1" stroke="rgb(0,0,0)"/>
<!-- сразу добавим ещё одну фигуру -->
<polygon points="40,100 100,100 100,150 40,150" fill="red" stroke-width="2" stroke="rgb(100,250,110)"/>

Как видите, многоугольник позволяет располагать любые фигуры в любом месте страницы.

Продвинутый уровень

Теперь добавим заголовок, чтобы получить картинку как в начале статьи. Пишем после тега <svg> тег <h2>:

<h2>Привет, это журнал Код!</h2>

Так как наш тег с заголовком первого уровня написан ниже тега с графикой, то браузер и разместил заголовок ниже картинок. Чтобы графика легла сверху текста, нужно пойти на хитрость:

  1. Добавить стиль к svg-тегу.
  2. В этом стиле прописать абсолютное позиционирование и установить значение z-index = -1, чтобы слои с рисунками оказались ниже всех и не мешали остальным.
  3. Также в этот стиль нужно добавить свойство display: block — оно управляет тем, как располагается содержимое всего блока. Подробно про это свойство мы рассказывали в подборке полезных CSS-команд — почитайте, если интересно, как управлять внешним видом страницы.

Добавим это в стили и соберём полную страницу:

<!DOCTYPE html>
<html lang="ru" >
<head>
  	<meta charset="UTF-8">
	<title>SVG-графика</title>
	<style type="text/css">
		svg{
			position:absolute;
			z-index:-1;
			display: block;}
	</style>
</head>
<body>
	<svg>
		<!-- круги -->
		<circle cx="25" cy="25" r="20" fill="green" stroke-width="5" stroke="rgb(150,110,200)"/>
		<circle cx="250" cy="32" r="30" fill="yellow" stroke-width="3" stroke="rgb(50,90,150)"/>
		<!-- линия -->
		<line x1="50" y1="30" x2="250" y2="0" stroke-width="3" stroke="red"/>  
		<!-- прямоугольник -->
		<rect fill="orange" stroke-width="1" stroke="rgb(0,0,0)"/>
		<!-- многоугольники -->
		<polygon points="100,140 250,118 170,60 " fill="blue" stroke-width="1" stroke="rgb(0,0,0)"/>
		<polygon points="40,100 100,100 100,150 40,150" fill="red" stroke-width="2" stroke="rgb(100,250,110)"/>

	</svg>
	<h2>Привет, это журнал Код!</h2>
</body>
</html>

Внешние SVG-файлы

Инструкции SVG можно упаковывать во внешние файлы и подключать как обычные изображения. Например, вы нарисовали красивую иконку в векторном редакторе, сделали экспорт в формат SVG и подключили к странице как обычное изображение. Браузер поймёт инструкции и нарисует ваше изображение красиво и плавно, какого бы размера оно ни было. 

Это особенно полезно на мониторах высокого разрешения и на мобилках: например, если вам на сайте нужны какие-то иконки, вы можете подключить их как SVG-файлы, и браузер отрисует их корректно хоть на retina-дисплеях, хоть на старых Full-HD мониторах. 

Если хотите попробовать, скачайте любую из иконок Чикина и добавьте на сайт через тег <img src=»…»> — увидите, как это красиво. Не забудьте указать width и height, чтобы векторная картинка знала, в каком размере отрисовываться. 

Что дальше

Мы разобрали только самые основы SVG-графики. Дальше будем делать красивую SVG-анимацию, рисовать логотипы и работать с векторной графикой на продвинутом уровне. Подпишитесь на нашу рассылку, чтобы не пропустить новые выпуски.

Текст:

Михаил Полянин

Редактура:

Максим Ильяхов

Художник:

Даня Берковский

Корректор:

Ирина Михеева

Вёрстка:

Мария Дронова

Соцсети:

Олег Вешкурцев

плюсы и минусы его использования

Сегодня мы поговорим про SVG, что это за формат, с чем его едят и стоит ли его использовать. Хоть формат не особо новый, но свою популярность заслужил благодаря внедрению его на сайты. Все последние версии браузеров уже получили поддержку данного формата.

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

Что такое SVG?

SVG – Scalable Vector Graphics (Масштабируемая Векторная Графика) – основанный на векторе формат для веб-разработчиков. Данный тип формата стал столь популярен благодаря тому, что его изображения возможно отображать на больших разрешениях без потери качества, так как SVG – это векторный формат.

Толчок развития данной языковой разметке впервые был дан Консорциумом Всемирной паутины (World Wide Web Consortium), который был более известен в 1999 году как W3C. W3C дала понятие SVG – языковая разметка для создания двухмерных графических интерфейсов и изображений.

Использование  на практике

Что же делает SVG таким популярным, и почему все больше дизайнеров начинают использовать его? Все очень просто, он работает так, как это необходимо.

SVG имеет небольшой вес по сравнению с другими форматами. У этого формата просто невероятные возможности. Флаги, символы, элементы интерфейса. И это только небольшой список того, как его можно использовать. Самый большой плюс его использования, это то что он является векторным форматом, то есть его возможно использовать на любых дисплеях – каким бы ни было их разрешение, он везде будет отображаться одинаково.

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

Несколько примеров того, где его можно использовать:

  • Логотипы
  • Фоновое изображение
  • Использование как кнопки
  • Карты
  • Диаграммы или рисунки

Как правило SVG чаще всего используют при создании адаптивных сайтов, анимаций и других динамических эффектов.

Плюсы использования SVG

Так почему же стоит отказаться от привычных нам JPG или GIF в пользу SVG? Есть достаточно много причин того, почему же все таки стоит его использовать в вашем проекте.

  • SVG – векторный формат, именно поэтому его стоит его использовать для адаптивных сайтов, на которых размер изображений зависит от разрешения дисплея пользователя, и SVG безупречно соответствует всем требованиям.
  • SVG изображения используют XML для определения его свойств, и, соответственно, у него есть способность к еще большему сжатию.
  • SVG изображениями очень просто управлять, и это открывает еще больше возможностей для дизайнеров, которые могут менять цвет, добавлять тень, фильтры, размытие и еще много других эффектов.
  • SVG довольно прост для понимания
  • SVG работает с открытыми веб стандартами
  • Вы можете использовать обычный текстовый редактор кода для создания SVG. Это дает вам некоторую свободу в действиях, все зависит лишь от ваших потребностей и от уровня экспертных знаний в данной области.

Минусы использования SVG

Вы вероятно потрясены тем, сколько же у SVG плюсов. И возможно подумали, что у него нет минусов. Но нет, парочка точно есть, и вот некоторые из них:

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

Что же дальше?

Будущее SVG  только начинается. Как принятый формат изображений (и стандарт) для мобильных, SVG только продолжит набирать обороты.

Согласно W3C, SVG 2 в настоящее время разрабатывается, и он получит более упрощенные опции для взаимодействия с файлами SVG, а также начнет еще больше взаимодействовать с HTML, CSS и DOM.

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

Еще больше об SVG

В заключение

Вы уже используете SVG для своих проектов? Если нет, то почему бы не начать?

SVG становится все более популярным с каждым днем, ведь это общедоступный инструмент. Поэтому расскажите в комментариях, как вы относитесь к SVG? А также решились ли вы его использовать, если нет – то почему.

Превью: Depositphotos

Читайте также:

Чем отличается плоский дизайн от материал дизайна

400+ отличных полезных сервисов для каждого

8 книг, которые должен прочесть каждый дизайнер

НОУ ИНТУИТ | Масштабируемая векторная графика

Форма обучения:

дистанционная

Стоимость самостоятельного обучения:

бесплатно

Доступ:

свободный

Документ об окончании:

Уровень:

Специалист

Длительность:

25:09:00

Выпускников:

177

Качество курса:

4.29 | 4.14

Курс содержит все необходимые сведения для создания и распространения SVG — документов.

Рассматриваются основные фигуры, кривые Безье, работа с текстом, различные виды градиентов, шаблоны, группы элементов, символы и маски. Практически разбирается применение трансформаций, включая команды translate, rotate, scale, skewX, skewY и matrix. Вводятся все необходимые сведения для работы с матрицами преобразований. Подробно рассматриваются все 19 фильтров, включая их структуры и атрибуты. Анимация и интерактивность SVG-графики иллюстрируется примерами, позволяющим создавать собственные ролики. Описываются экспорт графики и создание SVG – документов в специализированных программах Altova XML Spy, Sketsa SVG Graphics Editor, а также в таких популярных пакетах, как Adobe Illustrator и Corel Draw.

Теги: arc, baseline, css, flash, glyph, html, marker, stroke, SVG, sweep, x-axis, анимация, браузеры, графика, паттерн, паттерны, поддержка, радиальный градиент, форматы, цвета, шрифты, элементы

Предварительные курсы

Дополнительные курсы

 

2 часа 30 минут

Введение в SVG
Поддержка SVG браузерами. Flash против SVG. Развитие векторных форматов. Просмотр SVG–графики в Adobe SVG Viewer. Панель информации в Internet Explorer 6 (Windows XP SP2). Создание SVG документов. Работа с Altova XML Spy. Вставка SVG рисунков в HTML – страницы. Обзор ресурсов, посвященных SVG–графике.

Основные фигуры SVG – графики
Прямоугольник (rect). Окружность (circle). Эллипс (ellipse). Линия. (line). Ломаная (polyline). Многоугольник (polygone). Вертикальный порядок последовательности объектов. Стили в SVG – графике. Группы элементов. Основные типы данных SVG – графики. Свойство ViewBox.

Элемент Path
Объект Path. Линии и формы. Кривые Безье третьего порядка (Cubic Bezier Curve). Кривые Безье второго порядка (Quadratic Bezier Curves). Эллиптические кривые (Elliptical Curves). Экспорт графики и объект Path.

Текст
Элементы text, tspan, tref, textPath. Атрибуты baseline-shift, direction, dominant-baseline, dx, dy, fill, font-family, font-size, font-size-adjust, font-stretch, font-style, font-weight, glyph-orientation-horizontal, glyph-orientation-vertical, kerning, letter-spacing, rotate, text-anchor, text-decoration, unicode-bidi, word-spacing, writing-mode. Форматирование текста. Расположение текста на произвольной кривой в Corel Draw и SVG.

Рисование
Заливка. Атрибуты fill, fill-opacity и fill-rule. Линейная и радиальная градиентные заливки. Прозрачность. Контуры. Атрибуты stroke,stroke-width, stroke-opacity, stroke-dasharray, dashoffset, stroke-linecap, sroke-linejoin, stroke-mitrelimit. Паттерны и маркеры. Элементы symbol, clipPath, mask.

Трансформации
Трансформации. Команды translate (перенос), rotate (вращение), scale (масштабирование), skewX (искажение по горизонтали), skewY (искажение по вертикали), matrix (матрица). Отражение объектов. Вычисление матриц в Mathcad.

Фильтры. Часть I
Введение в фильтры. Общие атрибуты. Фильтры feGaussianBlur, feBlend, feImage, feMerge, feComposite. Работа с фильтрами в Adobe Illustrator. Экспорт графики в формат SVG.

Фильтры. Часть III
Фильтры feColorMatrix, feComponentTransfer, feTurbulence. Яркость и цветовой баланс изображений.

Фильтры. Часть IV
Источники света в SVG – документах. Фильтры feDiffuseLighting, feDistantLight, feSpecularLighting, fePointLight, feSpotLight и feConvolveMatrix.

Анимация
Анимация в SVG – графике. Элементы animate, animateColor, animateMotion, animateTransform, set. Атрибуты attributeType=»CSS», attributeType=»XML». Анимация градиента, нескольких преобразований, фильтров, по ссылке. Концепция SVG и Adobe Flash CS3.

Интерактивность
Интерактивность SVG – графики. Гиперссылки. События мыши и клавиатуры. Использование скриптов.

Практическое руководство о SVG в вебе

Подготовка SVG для использования в вебе это очень простой процесс, не сложнее экспорта JPEG или PNG. Используйте любой привычный для вас графический редактор (Illustrator, Sketch, Inkscape [бесплатен], и тому подобное [или даже Photoshop, если вы используете слои с формами]) с тем размером изображения, который вы планируете использовать. Обычно я работаю в Иллюстраторе, поэтому я объясню некоторые способы подготовки файлов в этой программе, но вообще они применимы и для любой другой программы. Вам, возможно, стоит перевести текст в кривые, поскольку шрифт, скорее всего, будет неправильно отображаться, если, конечно, вы не планируете стилизовать их с помощью веб-шрифта, используемого на странице (что возможно!). Не стоит также превращать все объекты в единые формы, особенно если у вас есть обводка, которой необходимо будет управлять на странице, тем более преобразование объектов зачастую не уменьшает размер файла. Любые имена, присвоенные группам или слоям, будут добавлены к SVG как ID элемента. Это довольно удобно для стилизации, но немного увеличит общий размер файла.

Перед тем как сделать экспорт, необходимо проверить, все ли изображения находятся в целочисленной пиксельной сетке (то есть, например не 23.3px × 86.8px). В противном случае скорее всего изображению не будет хватать чёткости и часть изображения обрежется. В Иллюстраторе это можно сделать следующим образом: Object > Artboards > Fit to Artwork Bounds. Затем жмём save as и выбираем SVG, и оставляем настройки по умолчанию. Здесь можно сделать небольшую оптимизацию, но на самом деле не стоит, так как далее мы будем применять разные улучшающие приёмы, поэтому сейчас мы не будем тратить впустую время на эти настройки.

Приёмы для уменьшения размеров файла.

(Смотрите ресурсы по оптимизации)

Существует множество статей по оптимизации SVG, предлагающих кладезь знаний в этой теме, но я хочу поделиться парой приёмов, которые считаю наиболее эффективными и полезными. Они не требуют много усилий и могут легко вписаться в рабочий процесс.

Чтобы добиться наименьшего размера SVG, логично будет удалить из него всё лишнее. Наиболее известная и полезная программа (по крайней мере я так думаю) для обработки SVG это SVGO. Она удаляет весь не нужный код. Но! Будьте внимательны используя эту программу, если планируете управлять SVG при помощи CSS / JS, так как она может слишком сильно почистить код, что затруднит дальнейшие изменения. Удобство SVGO ещё и в том, что её можно включить в процесс автоматической сборки проекта, но можно также использовать GUI если хочется.

Разбираясь подробнее с правильным удалением всего ненужного, мы можем сделать ещё кое-что в графическом редакторе. Сперва нужно убедиться, что используется настолько мало контуров/форм, насколько это возможно, так же как и точек на этих контурах. Можно объединять и упрощать всё, что поддаётся упрощению, и удалить все ненужные точки. В Иллюстраторе есть плагин VectorScribe с инструментом Smart Remove Brush Tool, который поможет удалить точки и при этом оставить общую форму той же.

Предварительная оптимизация

Smart Remove Brush Tool удалил точки

Дальше будем увеличивать изображение. В Иллюстраторе удобно включить просмотр с пиксельной сеткой View > Pixel Preview и проверить, как располагаются контуры. Чтобы разместить контуры по сетке, потребуется немного времени, но эти усилия окупятся и позволят добиться более чёткого рендеринга (лучше обратить на это внимание заранее).

Точки вне сетки

Выравнивание по сетке

Если есть два и более объекта для выравнивания, то стоит удалить все ненужные перекрытия. Иногда даже если контуры тщательно выровнены, может быть видна тонкая белая линия. Чтобы предотвратить такое, можно немного наложить объекты друг на друга в местах перекрытия. Важно: в SVG z-index имеет определённый порядок, который зависит от объекта, находящегося снизу, поэтому стоит поместить верхний объект в нижнюю часть файла в коде.

И, наконец, последнее, но немаловажное, то, о чём обычно забывают — это активировать gzip сжатие SVG на вашем сайте в .htaccess файле.

AddType image/svg+xml svg svgz
<IfModule mod_deflate.c>
  <IfModule mod_filter.c>
      AddOutputFilterByType DEFLATE "image/svg+xml" \
                                    "text/css" \
                                    "text/html" \
                                    "text/javascript"
                                    ... etc
  </IfModule>
</IfModule>

В качестве примера того, насколько эффективна эта техника, я воспользуюсь оригинальным логотипом Breaking Borders и оптимизирую его таким образом: увеличиваю размер до того, каким он должен быть; приведу в порядок контуры; удалю максимально возможное количество точек; передвину точки на целочисленные пиксели; сдвину все области перекрытий и отправлю это всё в SVGO.

Оригинал: 1,413b
После оптимизации: 409b

В итоге размер файла стал меньше на ~71% (и на ~83% при сжатии)

Дополнение: Rob Sterlini заметил, поскольку «b» повторяется, можно использовать элемент <use>, для повторения, что ещё больше уменьшит размер файла — и был абсолютно прав.

После оптимизации с использованием <use>: 311b

Размер файла стал меньше на ~78%

Если применить эту технику ко всем файлам SVG, это значительно улучшит ваш сайт.

зачем он нужен, как его подключать к HTML и что с ним можно делать.

Помимо привычных растровых форматов (JPG, PNG, GIF), в веб-разработке широко применяют векторный — SVG.

SVG (сокращение от Scalable Vector Graphics — «масштабируемая векторная графика») — это вид графики, которую создают с помощью математического описания геометрических примитивов (линий, кругов, эллипсов, прямоугольников, кривых и так далее), которые и образуют все детали будущего изображения.

То есть в этом формате хранится не сама картинка, а инструкции для её построения по точкам и кривым. Они написаны на языке разметки SVG, расширяющем XML.

Прелесть SVG раскрывает масштабирование. Если увеличить растровое изображение сверх 100%-ного размера — проявляется пикселизация: отдельные точки превращаются в одноцветные блоки пикселей, границы областей становятся ступенчатыми, и в целом картинка выглядит негладко, некрасиво.

Если же увеличить векторное изображение — все его детали останутся чёткими, то есть их видимое разрешение не уменьшится. Поэтому svg-картинки отображаются на самых больших разрешениях без потери качества — и просто идеальны для адаптивных сайтов.

У svg-графики есть ещё одно достоинство. Её можно открывать как HTML или CSS и менять в любом редакторе кода, и даже на лету. Подробнее об этом ниже.

И наконец, при прочих равных SVG весит намного меньше растровых изображений.

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


Максим Васянович

Автор статей по программированию. Преподаватель, ментор, выпускник Skillbox. Фрилансер, веб-разработчик


— SVG: масштабируемая векторная графика

Элемент svg — это контейнер, который определяет новую систему координат и область просмотра. Он используется как внешний элемент документов SVG, но его также можно использовать для встраивания фрагмента SVG в документ SVG или HTML.

Примечание: Атрибут xmlns требуется только для внешнего элемента svg из документов SVG . Это не нужно для внутренних элементов svg или внутри HTML-документов.

  
  <круг cx = "50" cy = "50" r = "40" />
  

  
    
  
  
базовый Профиль
Минимальный языковой профиль SVG, необходимый для документа.
Тип значения : ; Значение по умолчанию : нет; Анимационный : нет
contentScriptType
Язык сценариев по умолчанию, используемый фрагментом SVG.
Тип значения : ; Значение по умолчанию : приложение / ecmascript ; Анимационный : нет
contentStyleType
Язык таблиц стилей по умолчанию, используемый фрагментом SVG.
Тип значения : ; Значение по умолчанию : текст / css ; Анимационный : нет
высота
Отображаемая высота прямоугольного окна просмотра.(Не высота его системы координат.)
Тип значения : <длина> | <процент> ; Значение по умолчанию : авто ; Анимированные : да
сохранить соотношение сторон
Как нужно деформировать фрагмент svg , если он отображается с другим соотношением сторон.
Тип значения : ( none | xMinYMin | xMidYMin | xMaxYMin | xMinYMid | xMidYMid | xMax4Max3 | 9Max3 x0003 | 9Max3 x0003 | 9Max3 x0003 | 9Max3 встретить | срез )? ; Значение по умолчанию : xMidYMid соответствует ; Анимированные : да
версия
Какая версия SVG используется для внутреннего содержимого элемента.
Тип значения : <число> ; Значение по умолчанию : нет; Анимационный : нет
просмотр Коробка
Координаты окна просмотра SVG для текущего фрагмента SVG.
Тип значения : <список-номеров> ; Значение по умолчанию : нет; Анимированные : да
ширина
Отображаемая ширина прямоугольного окна просмотра.(Не ширина его системы координат.)
Тип значения : <длина> | <процент> ; Значение по умолчанию : авто ; Анимированные : да
х
Отображаемая координата x контейнера svg. Не влияет на внешние элементы svg .
Тип значения : <длина> | <процент> ; Значение по умолчанию : 0 ; Анимированные : да
y
Отображаемая координата y контейнера svg.Не влияет на внешние элементы svg .
Тип значения : <длина> | <процент> ; Значение по умолчанию : 0 ; Анимированные : да

Примечание: Начиная с SVG2, x , y , шириной и высотой являются Geometry Properties , что означает, что эти атрибуты также могут использоваться как свойства CSS.

Глобальные атрибуты

Основные атрибуты
В частности: id , tabindex
Атрибуты стиля
класс , стиль
Атрибуты условной обработки
В частности: требуется Расширения , система Язык
Атрибуты событий
Глобальные атрибуты событий, графические атрибуты событий, атрибуты событий документа, атрибуты событий элементов документа
Атрибуты представления
Наиболее примечательны: clip-path , clip-rule , color , цветовая интерполяция , цветопередача , курсор , дисплей , заливка , непрозрачность заливки , fill-rule , filter , mask , opacity , pointer-events , shape-rendering , stroke , stroke-dasharray , stroke-dashoffset , stroke- linecap , штрих-линия, соединение , штрих-митрлимит , штрих-непрозрачность , ширина штриха , преобразование , векторный эффект , видимость
Атрибуты Aria
aria-activedescendant , aria-atomic , aria-autocomplete , aria-busy , aria-checked , aria-colcount , aria-colindex -colindex — aria-controls , aria-current , aria-describeby , aria-details , aria-disabled , aria-dropeffect , aria-errormessage , aria-extended , aria-extended , -flowto , aria-grabbed , aria-haspopup , aria-hidden , aria-invalid , aria-keyhortcuts , aria-label , aria-label0003 9000ria-level , , aria-live , aria-modal , aria-multiline , aria-multiselectable , aria-Ориентация , aria-own , aria-placeholder , aria-posinset ария прессованная 90 004, aria-readonly , aria-related , aria-required , aria-roledescription , aria-rowcount , aria-rowindex , aria-rowspan , , aria-selected , aria-selected , aria aria-setsize , aria-sort , aria-valuemax , aria-valuemin , aria-valuenow , aria-valuetext , role
Категории Элемент контейнера, структурный элемент
Разрешенное содержимое Любое количество следующих элементов в любом порядке:
Элементы анимации
Описательные элементы
Элементы формы
Структурные элементы
Градиентные элементы
< a> , , , , , , , , , , , , ,

Попробуй сам "

Что вы уже должны знать

Прежде чем продолжить, вы должны иметь некоторое общее представление о следующем:

Если вы хотите сначала изучить эти предметы, найдите уроки на нашем Домашняя страница.


Что такое SVG?

  • SVG - это масштабируемая векторная графика
  • .
  • SVG используется для определения векторной графики для Интернета
  • SVG определяет графику в формате XML
  • Каждый элемент и каждый атрибут в файлах SVG можно анимировать
  • SVG - это рекомендация W3C
  • SVG интегрируется с другими стандартами W3C, такими как DOM и XSL


SVG - это рекомендация W3C

SVG 1.0 стал Рекомендацией W3C 4 сентября 2001 г.

SVG 1.1 стал Рекомендацией W3C 14 января 2003 г.

SVG 1.1 (второе издание) стал рекомендацией W3C 16 августа 2011 года.


Преимущества SVG

Преимущества использования SVG по сравнению с другими форматами изображений (например, JPEG и GIF) равны:

  • Изображения SVG можно создавать и редактировать с помощью любого текстового редактора
  • изображений SVG можно искать, индексировать, создавать сценарии и сжимать
  • изображений SVG масштабируются
  • изображений SVG можно распечатать с высоким качеством при любом разрешении
  • изображений SVG можно масштабировать
  • Графика SVG НЕ теряет качества при увеличении или изменении размера
  • SVG - открытый стандарт
  • Файлы SVG - это чистый XML

Создание изображений SVG

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



Масштабируемая векторная графика (SVG) 2

Масштабируемая векторная графика (SVG) 2

Кандидат в рекомендации W3C

4 октября 2018 г.
Эта версия:
https://www.w3.org/TR/2018/CR-SVG2-20181004/
Последняя версия:
https://www.w3.org/TR/SVG2/
Предыдущая версия:
https://www.w3.org/TR/2018/CR-SVG2-20180807/
Редакторы черновик
https: // svgwg.org / svg2-draft /
Одностраничная версия:
https://svgwg.org/svg2-draft/single-page.html
Репозиторий GitHub:
https://github.com/w3c/svgwg/
Общественные комментарии:
[email protected] (архив)
Редакторы:
Амелия Беллами-Ройдс, приглашенный эксперт
Богдан Бринза, Microsoft Co.
Крис Лилли, W3C
Дирк Шульце, Adobe Systems
Дэвид Стори, Microsoft Co.
Эрик Уиллигерс, Google
Бывшие редакторы:
Никос Андроникос, Canon, Inc.
Россен Атанасов, Microsoft Co.
Тавмджонг Бах, приглашенный эксперт
Брайан Бертлз, Mozilla Япония
Сирил Конколато, Telecom ParisTech
Эрик Дальстрем, приглашенный эксперт
Кэмерон Маккормак, Mozilla Corporation
Дуг Шеперс, W3C
Ричард Швердтфегер, IBM
Сатору Такаги, KDDI Corporation
Джонатан Ватт, Mozilla Corporation

Авторские права © 2018 W3C ® ( MIT , ERCIM , Keio, Beihang). W3C несет ответственность, применяются правила использования товарных знаков и документов.


Абстрактные

Эта спецификация определяет функции и синтаксис для Scalable Векторная графика (SVG) версии 2. SVG - это язык, основанный на XML для описания двухмерная векторная и смешанная векторная / растровая графика. SVG-контент стилизован, масштабируется до различных разрешений экрана и может просматриваться отдельно, смешанные с содержимым HTML или встроенные с использованием пространств имен XML в других языках XML.SVG также поддерживает динамические изменения; скрипт можно использовать для создания интерактивных документов, и анимация может выполняться с использованием функций декларативной анимации или с помощью сценария.

Статус этого документа

В этом разделе описывается статус этого документа на момент его публикации. Другие документы могут заменять этот документ. Список текущих публикаций W3C и последнюю версию этого технического отчета можно найти в указателе технических отчетов W3C по адресу https: // www.w3.org/TR/.

Этот документ является кандидатом в рекомендацию для SVG 2 от 4 октября 2018 г. Эта версия SVG основан на SVG 1.1 Second Edition за счет повышения удобства использования и точности языка. В приложении "Изменения" перечислены все изменений, которые были внесены после SVG 1.1 Second Edition.

Публикация

в качестве кандидата в рекомендации не подразумевает одобрения со стороны членов W3C. Это черновик документа, который может быть обновлен, заменен или исключен другими документами в любое время.Неуместно ссылаться на этот документ как на незавершенную работу.

Ожидается, что эта потенциальная рекомендация будет преобразована в предлагаемую рекомендацию не ранее 4 декабря 2018 г.

В настоящее время нет предварительного отчета о реализации. Рабочая группа SVG работает над набором тестов для SVG2 и планирует подготовить отчет о реализации на основе этих тестов.

Комментарии к кандидату в рекомендации приветствуются. Комментарии могут быть подняты как проблемы GitHub (предпочтительно) или, в качестве альтернативы, быть отправленным по адресу www-svg @ w3.org, общедоступный список адресов электронной почты по вопросам, связанным с векторной графикой в ​​Интернете. Этот список в архиве и отправители должны согласиться на публичное архивирование их сообщений из своих первая публикация. Чтобы подписаться, отправьте электронное письмо по адресу [email protected] с слово подписывайтесь на в теме письма.

Спецификация включает ряд аннотаций, которые Рабочая группа использование для записи ссылок на протоколы собраний и резолюций, где конкретные решения о функциях SVG.Другой цвет также используется для обозначения зрелость разных разделов спецификации:

  • красный фон указывает на раздел, который не изменился с SVG 1.1 (и поэтому все еще требует пересмотра и возможной переписывания для SVG 2) или новый раздел, требующий существенной доработки
  • желтый фон указывает на рассмотренный раздел из SVG 1.1. и при необходимости переписать, или новый раздел, который полностью и готов для остальной части Рабочей группы на рассмотрение
  • белый фон указывает на раздел из SVG 1.1 или новый для SVG 2, рассмотренный Рабочей группой и готовый для более широкого обзора

Этот документ подготовлен Рабочая группа W3C SVG как часть Графическая активность в домен взаимодействия W3C. В цели рабочей группы W3C SVG обсуждаются в Устав W3C SVG. Рабочая группа W3C SVG поддерживает общедоступную веб-страницу, https://www.w3.org/Graphics/SVG/, который содержит дополнительную справочную информацию. Авторы этот документ - участники Рабочей группы SVG.

Этот документ был подготовлен группой, действующей в соответствии с Патентной политикой W3C. W3C ведет публичный список любых раскрытий патентов. сделано в связи с результатами группы; эта страница также включает инструкция по раскрытию патента. Лицо, которое фактически знает о патенте, который, по его мнению, содержит существенные пункты формулы (-ий), должен раскрыть информацию в соответствии с разделом 6 Патентной политики W3C.

Список текущих Рекомендаций W3C и другие технические документы можно найти на https: // www.w3.org/TR/. Публикации W3C могут быть обновлены, заменены или аннулированы другими документами в любое время.

Этот документ регулируется Документом W3C от 1 февраля 2018 года.

Все функции в этой спецификации зависят от реализации в браузерах. или инструменты разработки. Если нет уверенности в том, что функция будет реализована, мы определяем эта функция как «в зоне риска». Подверженные риску функции будут удалены из текущего спецификации и могут быть включены в будущие версии спецификации.Если функция, подверженная риску, особенно важна для авторов SVG, эти авторы рекомендуется давать отзывы исполнителям относительно его приоритета. В следующие функции находятся под угрозой и могут быть отключены в течение периода CR:

Содержание

  1. 1. Введение
    1. 1.1. О SVG
    2. 1.2. Совместимость с другими усилиями стандартов
    3. 1.3. Нормативная терминология
  2. 2. Критерии соответствия
    1. 2.1. Обзор
    2. 2.2. Режимы обработки
      1. 2.2.1. Характеристики
      2. 2.2.2. Динамический интерактивный режим
      3. 2.2.3. Анимированный режим
      4. 2.2.4. Безопасный режим анимации
      5. 2.2.5. Статический режим
      6. 2.2.6. Безопасный статический режим
    3. 2.3. Режимы обработки субресурсных документов SVG
      1. 2.3.1. Примеры
    4. 2.4. Классы соответствия документа
      1. 2.4.1. Соответствие поддеревьям SVG DOM
      2. 2.4.2. Соответствие фрагментам разметки SVG
      3. 2.4.3. Соответствие XML-совместимым фрагментам разметки SVG
      4. 2.4.4. Соответствие XML-совместимым поддеревьям SVG DOM
      5. 2.4.5. Соответствие автономных файлов SVG
      6. 2.4.6. Обработка ошибок
    5. 2.5. Классы соответствия программного обеспечения
      1. 2.5.1. Соответствие генераторов SVG
      2. 2.5.2. Соответствие инструментам разработки SVG
      3. 2.5.3. Соответствие серверов SVG
      4. 2.5.4. Соответствие интерпретаторам SVG
      5. 2.5.5. Соответствие программам просмотра SVG
        1. 2.5.5.1. Примечания по реализации печати
      6. 2.5.6. Соответствие высококачественной программе просмотра SVG
  3. 3. Модель визуализации
    1. 3.1. Введение
    2. 3.2. Дерево рендеринга
      1. 3.2.1. Определения
      2. 3.2.2. Визуализированные и неотендерированные элементы
      3. 3.2.3. Управление видимостью: эффект «отображения» и «видимости» недвижимость
      4. 3.2.4. Повторно использованная графика
    3. 3.3. Художники модель
    4. 3.4. Порядок оформления
      1. 3.4.1. Создание контекста стекирования в SVG
    5. 3.5. Как отображаются элементы
    6. 3.6. Как отображаются группы
      1. 3.6.1. Прозрачность объекта и группы: влияние свойства «непрозрачность»
    7. 3.7. Типы графических элементов
      1. 3.7.1. Рисование фигур и текста
      2. 3.7.2. Рисование растровых изображений
    8. 3.8. Фильтрация окрашенных областей
    9. 3.9. Обрезка и маскирование
    10. 3.10. Родительский композитинг
    11. 3.11. Эффект «переполнения» property
  4. 4. Основные типы данных и интерфейсы
    1. 4.1. Определения
    2. 4.2. Синтаксис атрибута
      1. 4.2.1. Точность действительного числа
      2. 4.2.2. Значения зажима, ограниченные определенным диапазоном
    3. 4.3. Обзор SVG DOM
      1. 4.3.1. Зависимости для поддержки SVG DOM
      2. 4.3.2. Соглашения об именах
      3. 4.3.3. Элементы в SVG DOM
      4. 4.3.4. Отражение атрибутов содержимого в DOM
      5. 4.3.5. Синхронизация отраженных значений
      6. 4.3.6. Отражение пустого начального значения
      7. 4.3.7. Неверные значения
    4. 4.4. Интерфейсы DOM для элементов SVG
      1. 4.4.1. Интерфейс SVGElement
      2. 4.4.2. Интерфейс SVGGraphicsElement
      3. 4.4.3. Интерфейс SVGGeometryElement
    5. 4.5. Интерфейсы DOM для базовых типов данных
      1. 4.5.1. Интерфейс SVGNumber
      2. 4.5.2. Интерфейс SVGLength
      3. 4.5.3. Интерфейс SVGAngle
      4. 4.5.4. Список интерфейсов
      5. 4.5.5. Интерфейс SVGNumberList
      6. 4.5.6. Интерфейс SVGLengthList
      7. 4.5.7. Интерфейс SVGStringList
    6. 4.6. Интерфейсы DOM для отображения анимированных атрибутов SVG
      1. 4.6.1. Интерфейс SVGAnimatedBoolean
      2. 4.6.2. Интерфейс SVGAnimatedEnumeration
      3. 4.6.3. Интерфейс SVGAnimatedInteger
      4. 4.6.4. Интерфейс SVGAnimatedNumber
      5. 4.6.5. Интерфейс SVGAnimatedLength
      6. 4.6.6. Интерфейс SVGAnimatedAngle
      7. 4.6.7. Интерфейс SVGAnimatedString
      8. 4.6.8. Интерфейс SVGAnimatedRect
      9. 4.6.9. Интерфейс SVGAnimatedNumberList
      10. 4.6.10. Интерфейс SVGAnimatedLengthList
    7. 4.7. Другие интерфейсы DOM
      1. 4.7.1. Интерфейс SVGUnitTypes
      2. 4.7.2. Mixin SVGTests
      3. 4.7.3. Mixin SVGFitToViewBox
      4. 4.7.4. Миксин SVGZoomAndPan
      5. 4.7.5. Mixin SVGURIReference
  5. 5. Структура документа
    1. 5.1. Определение фрагмента документа SVG: элемент «svg»
      1. 5.1.1. Обзор
      2. 5.1.2. Пространство имен
      3. 5.1.3. Определения
      4. 5.1.4. Элемент «svg»
    2. 5.2. Группировка: элемент «g»
      1. 5.2.1. Обзор
      2. 5.2.2. Элемент «g»
    3. 5.3. Неизвестные элементы
    4. 5.4. Определение содержимого для повторного использования и элемент defs
      1. 5.4.1. Обзор
      2. 5.4.2. Элемент defs
    5. 5.5. Элемент «символ»
      1. 5.5.1. Атрибуты
      2. 5.5.2. Примечания к символам
    6. 5.6. Элемент «использовать»
      1. 5.6.1. Дерево теней используемых элементов
      2. 5.6.2. Макет повторно используемой графики
      3. 5.6.3. Область видимости и наследование стиля
      4. 5.6.4. Мультимедиа в деревьях теней используемых элементов
      5. 5.6.5. Анимации в деревьях теней используемых элементов
      6. 5.6.6. Обработка событий в деревьях теней используемых элементов
    7. 5.7. Условная обработка
      1. 5.7.1. Обзор условной обработки
      2. 5.7.2. Определения
      3. 5.7.3. Элемент «переключатель»
      4. 5.7.4. Атрибут requiredExtensions
      5. 5.7.5. Атрибут systemLanguage
    8. 5.8. "Desc" и элементы «title»
      1. 5.8.1. Определение
    9. 5.9. Элемент «метаданные»
    10. 5.10.Элементы метаданных HTML
    11. 5.11. Внешние пространства имен и частные данные
    12. 5.12. Общие атрибуты
      1. 5.12.1. Определения
      2. 5.12.2. Атрибуты, общие для всех элементов: «id»
      3. 5.12.3. Атрибуты lang и xml: lang
      4. 5.12.4. Атрибут «xml: space»
      5. 5.12.5. Атрибут tabindex
      6. 5.12.6. Атрибуты «data- *»
    13. 5.13. Атрибуты WAI-ARIA
      1. 5.13.1. Определения
      2. 5.13.2. Ролевой атрибут
      3. 5.13.3. Государственные и имущественные атрибуты (все aria- атрибуты)
      4. 5.13.4. Неявная и разрешенная семантика ARIA
    14. 5.14. Интерфейсы DOM
      1. 5.14.1. Расширения интерфейса документа
      2. 5.14.2. Интерфейс SVGSVGElement
      3. 5.14.3. Интерфейс SVGGElement
      4. 5.14.4. Интерфейс SVGUnknownElement
      5. 5.14.5. Интерфейс SVGDefsElement
      6. 5.14.6. Интерфейс SVGDescElement
      7. 5.14.7. Интерфейс SVGMetadataElement
      8. 5.14.8. Интерфейс SVGTitleElement
      9. 5.14.9. Интерфейс SVGSymbolElement
      10. 5.14.10. Интерфейс SVGUseElement
      11. 5.14.11. Интерфейс SVGUseElementShadowRoot
      12. 5.14.12. Mixin SVGElementInstance
      13. 5.14.13. Интерфейс ShadowAnimation
      14. 5.14.14. Интерфейс SVGSwitchElement
      15. 5.14.15. Mixin GetSVGDocument
  6. 6. Стилизация
    1. 6.1. Стилизация содержимого SVG с использованием CSS
    2. 6.2. Встроенные таблицы стилей: элемент style
    3. 6.3. Внешние таблицы стилей: эффект HTML-элемента «ссылка»
    4. 6.4. Таблицы стилей в HTML-документах
    5. 6.5. Стиль для конкретного элемента: атрибуты class и style
    6. 6.6. Атрибуты представления
    7. 6.7. Обязательные свойства
    8. 6.8. Таблица стилей пользовательского агента
    9. 6.9. Обязательные функции CSS
    10. 6.10. Интерфейсы DOM
      1. 6.10.1. Интерфейс SVGStyleElement
  7. 7.Свойства геометрии
    1. 7.1. Координата центра по горизонтали: Свойство «cx»
    2. 7.2. Координата центра по вертикали: ‘cy’ собственность
    3. 7.3. Радиус: свойство «r»
    4. 7.4. Горизонтальный радиус: "rx" собственность
    5. 7.5. Вертикальный радиус: «ry» собственность
    6. 7.6. Горизонтальная координата: свойство «x»
    7. 7.7. Вертикальная координата: «y» собственность
    8. 7.8. Калибровочные свойства: влияние 'ширина и высота' недвижимость
  8. 8.Системы координат, преобразования и единицы
    1. 8.1. Введение
    2. 8.2. Вычисление эквивалентного преобразования окна просмотра SVG
    3. 8.3. Начальное окно просмотра
    4. 8.4. Исходная система координат
    5. 8.5. Свойство «преобразовать»
    6. 8.6. Атрибут viewBox
    7. 8.7. «PreserveAspectRatio» атрибут
    8. 8.8. Создание нового окна просмотра SVG
    9. 8.9. Единицы
    10. 8.10. Ограничительные рамки
    11. 8.11.Блоки ограничивающей рамки объекта
    12. 8.12. Внутренние калибровочные свойства содержимого SVG
    13. 8.13. Векторные эффекты
      1. 8.13.1. Вычисление векторных эффектов
      2. 8.13.2. Вычисление векторных эффектов для вложенных систем координат области просмотра
      3. 8.13.3. Примеры векторных эффектов
    14. 8.14. Интерфейсы DOM
      1. 8.14.1. Интерфейс SVGTransform
      2. 8.14.2. Интерфейс SVGTransformList
      3. 8.14.3. Интерфейс SVGAnimatedTransformList
      4. 8.14.4. Интерфейс SVGPreserveAspectRatio
      5. 8.14.5. Интерфейс SVGAnimatedPreserveAspectRatio
  9. 9. Пути
    1. 9.1. Введение
    2. 9.2. Элемент «путь»
    3. 9.3. Данные пути
      1. 9.3.1. Общая информация о данных пути
      2. 9.3.2. Указание данных пути: свойство «d»
      3. 9.3.3. "moveto" команд
      4. 9.3.4. Команда "closepath"
        1. 9.3.4.1. Завершающая сегмент операция закрытия пути
      5. 9.3.5. Команды "lineto"
      6. 9.3.6. Кубическая кривая Безье
      7. 9.3.7. Квадратичная кривая Безье дает команду
      8. 9.3.8. Эллиптическая дуговая кривая
      9. 9.3.9. Грамматика данных пути
    4. 9.4. Направленность трассы
    5. 9.5. Примечания по реализации
      1. 9.5.1. Параметры эллиптической дуги вне допустимого диапазона
      2. 9.5.2. Отраженные контрольные точки
      3. 9.5.3. Сегменты пути нулевой длины
      4. 9.5.4. Обработка ошибок в данных пути
    6. 9.6. Расстояние по тропе
      1. 9.6.1. Атрибут pathLength
    7. 9.7. Интерфейсы DOM
      1. 9.7.1. Интерфейс SVGPathElement
  10. 10. Основные формы
    1. 10.1. Введение и определения
    2. 10.2. Элемент rect
    3. 10.3. Элемент «круг»
    4. 10.4. Элемент «эллипс»
    5. 10.5. Элемент «линия»
    6. 10.6. Элемент «ломаная линия»
    7. 10.7. Элемент «многоугольник»
    8. 10.8. Интерфейсы DOM
      1. 10.8.1. Интерфейс SVGRectElement
      2. 10.8.2. Интерфейс SVGCircleElement
      3. 10.8.3. Интерфейс SVGEllipseElement
      4. 10.8.4. Интерфейс SVGLineElement
      5. 10.8.5. Mixin SVGAnimatedPoints
      6. 10.8.6. Интерфейс SVGPointList
      7. 10.8.7. Интерфейс SVGPolylineElement
      8. 10.8.8. Интерфейс SVGPolygonElement
  11. 11.Текст
    1. 11.1. Введение
      1. 11.1.1. Определения
      2. 11.1.2. Шрифты и глифы
      3. 11.1.3. Метрики и макет глифов
    2. 11.2. "Текст" и Элементы tspan
      1. 11.2.1. Атрибуты
      2. 11.2.2. Примечания к 'x', 'y', 'dx', 'dy' и 'rotate'
    3. 11.3. Верстка текста - Введение
    4. 11.4. Макет текста - область содержимого
      1. 11.4.1. Свойство inline-size
      2. 11.4.2. Свойство «форма внутри»
      3. 11.4.3. Свойство «вычитание формы»
      4. 11.4.4. Свойство «порог изображения-формы»
      5. 11.4.5. Свойство «поле формы»
      6. 11.4.6. Свойство «заполнение формы»
    5. 11.5. Верстка текста - алгоритм
    6. 11.6. Предварительно форматированный текст
      1. 11.6.1. Многострочный текст через пробел
      2. 11.6.2. Изменение положения глифов
    7. 11.7. Автоматический перенос текста
      1. 11.7.1. Замечания о переносе текста
        1. 11.7.1.1.Позиционирование в первой строке
        2. 11.7.1.2. Прерывистые линии
    8. 11.8. Текст по пути
      1. 11.8.1. Элемент «textPath»
      2. 11.8.2. Атрибуты
      3. 11.8.3. Правила размещения текста по контуру
    9. 11.9. Порядок отрисовки текста
    10. 11.10. Свойства и псевдоэлементы
      1. 11.10.1. Свойства SVG
        1. 11.10.1.1. Выравнивание текста, свойство text-anchor
        2. 11.10.1.2. Свойство «глиф-ориентация-горизонталь»
        3. 11.10.1.3. Свойство "глиф-ориентация-вертикаль"
        4. 11.10.1.4. Свойство «кернинг»
      2. 11.10.2. Адаптация SVG
        1. 11.10.2.1. Свойство font-variant
        2. 11.10.2.2. Свойство «высота строки»
        3. 11.10.2.3. Свойство «режим записи»
        4. 11.10.2.4. Свойство «направление»
        5. 11.10.2.5. Объект «доминантно-базовый»
        6. 11.10.2.6. Свойство «alignment-baseline»
        7. 11.10.2.7. Свойство «сдвиг базовой линии»
        8. 11.10.2.8. Свойство «межбуквенный интервал»
        9. 11.10.2.9. Свойство «межсловный интервал»
        10. 11.10.2.10. Свойство «переполнение текстом»
      3. 11.10.3. Пробел
        1. 11.10.3.1. SVG 2 Предпочтительная обработка пробелов, свойство «white-space»
        2. 11.10.3.2. Устаревшая обработка пробелов, свойство «xml: space»
        3. 11.10.3.3. Повторяющиеся директивы белого пространства
    11. 11.11. Оформление текста
      1. 11.11.1.«Текст-украшение-заливка» и свойства text-decoration-stroke
    12. 11.12. Выделение текста и операции с буфером обмена
      1. 11.12.1. Примечания по реализации выделения текста
    13. 11.13. Интерфейсы DOM
      1. 11.13.1. Интерфейс SVGTextContentElement
      2. 11.13.2. Интерфейс SVGTextPositioningElement
      3. 11.13.3. Интерфейс SVGTextElement
      4. 11.13.4. Интерфейс SVGTSpanElement
      5. 11.13.5. Интерфейс SVGTextPathElement
  12. 12.Встроенное содержимое
    1. 12.1. Обзор
    2. 12.2. Размещение встроенного контента
    3. 12.3. Элемент «изображение»
    4. 12.4. HTML-элементы в поддеревьях SVG
    5. 12.5. Элемент foreignObject
    6. 12.6. Интерфейсы DOM
      1. 12.6.1. Интерфейс SVGImageElement
      2. 12.6.2. Интерфейс SVGForeignObjectElement
  13. 13. Покраска: заливка, обводка и символы-маркеры
    1. 13.1. Введение
      1. 13.1.1. Определения
    2. 13.2. Спецификация краски
    3. 13.3. Влияние свойства «цвет»
    4. 13.4. Свойства заливки
      1. 13.4.1. Определение заливки: свойство «заливка»
      2. 13.4.2. Правило обмотки: «правило заполнения» собственность
      3. 13.4.3. Непрозрачность заливки краски: «заливка-непрозрачность» собственность
    5. 13.5. Ударные свойства
      1. 13.5.1. Указание краски обводки: «обводка» собственность
      2. 13.5.2. Непрозрачность обводки: непрозрачность обводки. недвижимость
      3. 13.5.3. Ширина обводки: «ширина обводки». собственность
      4. 13.5.4. Рисование заглавных букв на концах штрихов: «штрих-штрих» собственность
      5. 13.5.5. Соединение контрольной линии: соединение "штрих-линия" и свойства «ход-митр-предел»
      6. 13.5.6. Лихие штрихи: «штрих-дашаррай» и Свойства «штрих-тире»
      7. 13.5.7. Расчет формы штриха
      8. 13.5.8. Вычисление окружностей для дуг 'штрих-линия'
      9. 13.5.9. Корректируем круги для дуг 'stroke-linejoin', когда начальные окружности не пересекаются
    6. 13.6. Векторные эффекты
    7. 13.7. Маркеры
      1. 13.7.1. Элемент «маркер»
      2. 13.7.2. Маркеры вершин: «маркер-начало», «Маркер-середина» и «маркер-конец» недвижимость
      3. 13.7.3. Сокращение маркера: «маркер» собственность
      4. 13.7.4. Маркеры рендеринга
    8. 13.8. Контроль порядка работы с покраской: Свойство «покраска»
    9. 13.9. Цветовое пространство для интерполяции: Свойство «цветовая интерполяция»
    10. 13.10. Подсказки рендеринга
      1. 13.10.1. Свойство «цветопередача»
      2. 13.10.2. Свойство «рендеринг формы»
      3. 13.10.3. Свойство «отрисовка текста»
      4. 13.10.4. Свойство «рендеринг изображения»
    11. 13.11. Эффект «Поменяет» собственность
    12. 13.12. Интерфейсы DOM
      1. 13.12.1. Интерфейс SVGMarkerElement
  14. 14. Серверы Paint: градиенты и узоры
    1. 14.1. Введение
      1. 14.1.1. Использование серверов рисования в качестве шаблонов
    2. 14.2. Градиенты
      1. 14.2.1. Определения
      2. 14.2.2. Линейные градиенты
        1. 14.2.2.1. Атрибуты
        2. 14.2.2.2. Примечания к линейным градиентам
      3. 14.2.3. Радиальные градиенты
        1. 14.2.3.1. Атрибуты
        2. 14.2.3.2. Примечания к радиальным градиентам
      4. 14.2.4. Градиент останавливается
        1. 14.2.4.1. Атрибуты
        2. 14.2.4.2. Свойства
        3. 14.2.4.3. Примечания к ограничителям уклона
    3. 14.3. Выкройки
      1. 14.3.1. Атрибуты
      2. 14.3.2. Примечания к выкройкам
    4. 14.4. Интерфейсы DOM
      1. 14.4.1. Интерфейс SVGGradientElement
      2. 14.4.2. Интерфейс SVGLinearGradientElement
      3. 14.4.3. Интерфейс SVGRadialGradientElement
      4. 14.4.4. Интерфейс SVGStopElement
      5. 14.4.5. Интерфейс SVGPatternElement
  15. 15. Сценарии и интерактивность
    1. 15.1. Введение
    2. 15.2. Поддерживаемые события
      1. 15.2.1. Связь с событиями пользовательского интерфейса
    3. 15.3. События пользовательского интерфейса
    4. 15.4. События указателя
    5. 15.5. Порядок проверки попаданий и обработки событий пользовательского интерфейса
      1. 15.5.1. Проверка попадания
      2. 15.5.2. Обработка событий
    6. 15.6. Свойство «указатель-события»
    7. 15.7. Увеличение и панорамирование
    8. 15.8. Фокус
    9. 15.9. Атрибуты события
      1. 15.9.1. Атрибуты события анимации
    10. 15.10. Элемент «сценарий»
    11. 15.11. Интерфейсы DOM
      1. 15.11.1. Интерфейс SVGScriptElement
  16. 16. Связывание
    1. 16.1. Ссылки
      1. 16.1.1. Обзор
      2. 16.1.2. Определения
      3. 16.1.3. URL-адреса и URI
      4. 16.1.4. Синтаксические формы: URL и
      5. 16.1.5. Атрибуты ссылки URL
      6. 16.1.6. Устаревшие ссылочные атрибуты URL XLink
      7. 16.1.7. Обработка URL-ссылок
        1. 16.1.7.1. Создание абсолютного URL-адреса
        2. 16.1.7.2. Получение документа
        3. 16.1.7.3. Обработка субресурсного документа
        4. 16.1.7.4. Идентификация целевого элемента
        5. 16.1.7.5. Действительные целевые URL
    2. 16.2. Ссылки вне содержимого SVG: элемент «a»
    3. 16.3. Связывание с содержимым SVG: фрагменты URL и представления SVG
      1. 16.3.1. Идентификаторы фрагментов SVG
      2. 16.3.2. Определения идентификаторов фрагментов SVG
      3. 16.3.3. Предопределенные представления: элемент «view»
    4. 16.4. Интерфейсы DOM
      1. 16.4.1. Интерфейс SVGAElement
      2. 16.4.2. Интерфейс SVGViewElement
  17. Приложение A: Определения IDL
  18. Приложение B: Замечания по реализации
    1. B.1. Введение
    2. B.2. Преобразование параметров эллиптической дуги
      1. B.2.1. Синтаксис конечной точки эллиптической дуги
      2. B.2.2. Альтернативы параметризации
      3. B.2.3. Преобразование из центра в параметризацию конечной точки
      4. B.2.4. Преобразование из оконечной точки в центральную параметризацию
      5. B.2.5. Коррекция радиусов за пределами допустимого диапазона
    3. B.3. Примечания по созданию высокоточной геометрии
  19. Приложение C: Поддержка специальных возможностей
    1. C.1. Функции доступности SVG
    2. C.2. Поддержка спецификаций и рекомендаций по обеспечению доступности SVG
  20. Приложение D: Анимация документов SVG
  21. Приложение E: Ссылки
    1. E.1. Нормативные ссылки
    2. E.2. Информационные ссылки
  22. Приложение F: Индекс элемента
  23. Приложение G: Индекс атрибута
    1. G.1. Регулярные атрибуты
    2. G.2. Атрибуты представления
  24. Приложение H: Указатель свойств
  25. Приложение I: Указатель IDL
  26. Приложение J: Регистрация типа носителя для image / svg + xml
    1. J.1. Вступление
    2. J.2. Регистрация медиа-типа image / svg + xml
  27. Приложение К. Изменения по сравнению с SVG 1.1
    1. К.1. Редакционные изменения
    2. K.2. Существенные изменения
      1. К.2.1. По всему документу
      2. К.2.2. Глава "Основные понятия" (только SVG 1.1)
      3. K.2.3. Глава «Критерии соответствия» (Приложение в SVG 1.1)
      4. K.2.4. Модель рендеринга, глава
      5. K.2.5. Основные типы данных и интерфейсы глава
      6. K.2.6. Глава Структура документа
      7. K.2.7. Раздел стиля
      8. K.2.8. Глава Geometry Properties (только SVG 2)
      9. K.2.9. Системы координат, преобразования и единицы. Глава
      10. K.2.10. Глава
      11. K.2.11. Основные формы глава
      12. K.2.12. Текст главы
      13. К.2.13. Глава Embedded Content (только SVG 2)
      14. K.2.14. Живопись Глава
      15. К.2.15. Цветная глава (только SVG 1.1)
      16. K.2.16. Глава «Серверы Paint» (в SVG 1.1 она называется «Градиенты и узоры»)
      17. K.2.17. Глава «Отсечение, маскирование и компоновка» (только SVG 1.1)
      18. K.2.18.Глава «Эффекты фильтров» (только SVG 1.1)
      19. K.2.19. Глава "Сценарии и интерактивность" (отдельные главы в SVG 1.1)
      20. K.2.20. Связывание главы
      21. K.2.21. Глава о сценариях (в SVG 1.1)
      22. K.2.22. Глава анимации (только SVG 1.1)
      23. K.2.23. Глава «Шрифты» (только SVG 1.1)
      24. K.2.24. Глава метаданных (только SVG 1.1)
      25. K.2.25. Глава обратной совместимости (только SVG 1.1)
      26. K.2.26. Глава о расширяемости (только SVG 1.1)
      27. K.2.27. Приложение «Определение типа документа» (только SVG 1.1)
      28. K.2.28. Объектная модель документа SVG (DOM) (только SVG 1.1)
      29. K.2.29. Приложение «Определения IDL»
      30. K.2.30. Приложение Java Language Binding (только SVG 1.1)
      31. K.2.31. Приложение привязки к языку ECMAScript (только SVG 1.1)
      32. K.2.32. Приложение «Замечания по реализации» («Требования реализации в SVG 1.1»)
      33. K.2.33. Приложение поддержки специальных возможностей
      34. K.2.34. Приложение о поддержке интернационализации (SVG 1.1)
      35. K.2.35. Приложение «Минимизация размеров файлов SVG» (только SVG 1.1)
      36. K.2.36. Приложение «Анимация документов SVG» (только SVG 2)
      37. K.2.37. Ссылки приложение
      38. K.2.38. Приложения "Эльменент", "Атрибуты" и "Указатель свойств"
      39. K.2.39. Приложение IDL Index (только SVG 2)
      40. K.2.40. Строки функций (только SVG 1.1)

Благодарности

Рабочая группа SVG благодарит следующих людей за внесение вклада в эту спецификацию с помощью исправлений или участие в обсуждениях что повлекло за собой изменения в документе: Дэвид Дэйли, Эрик Иствуд, Ярек Фокса, Даниэль Холберт, Поль Лебо, Роберт Лонгсон, Анри Мэнсон, Ms2ger, Кари Пихкала, Филип Роджерс, Давид Збарски.

Кроме того, рабочая группа SVG хотела бы отметить вклад редакторов и авторов предыдущих версий SVG - поскольку большая часть текста в этом документе происходит от этих более ранние спецификации - в том числе:

  • Патрик Денглер, Microsoft Corporation (Версия 1.1, второе издание)
  • Джон Феррайоло, бывший Adobe Systems (версии 1.0 и 1.1, первое издание; до 10 мая 2006 г.)
  • Энтони Грассо, бывший Canon Inc. (Версия 1.1, второе издание)
  • Дин Джексон, бывший W3C (Версия 1.1 Первое издание; до февраля 2007 г.)
  • 藤 沢 淳 (FUJISAWA Jun), Canon Inc. (версия 1.1, первое издание)

Наконец, рабочая группа SVG хотела бы отметить очень много людей за пределами рабочей группы SVG, которые помогают с процесс разработки спецификаций SVG. Эти люди тоже многочисленные, чтобы перечислить индивидуально. Они включают, но не ограничиваются ранние разработчики языков SVG 1.0 и 1.1 (включая средства просмотра, средства разработки и транскодеры на стороне сервера), разработчики SVG-контент, люди, которые внесли свой вклад на www-svg @ w3.org и [email protected] списки рассылки, другие рабочие группы в W3C и команда W3C. SVG 1.1 - это действительно совместная работа Рабочая группа SVG, остальная часть W3C, а также общественность и преимущества во многом благодаря новаторской работе первых разработчиков и контента разработчиков, отзывы общественности и помощь команды W3C.

Масштабируемая векторная графика (SVG)

Это официальный обзор Scalable Vector от W3C. Формат графики (SVG).SVG 1.1 и мобильные профили SVG являются веб-стандартами (Рекомендации W3C). Продолжается работа над SVG 1.2 и будущим профили для мобильных и печать. Текущий список членов рабочей группы SVG: имеется в наличии.

"На что обратить внимание: SVG - масштабируемая векторная графика - наконец, графика который может быть оптимально визуализирован на устройствах любого размера ", - Тим Бернерс-Ли, изобретатель World Wide Web

.

Обзор

SVG - это платформа для двухмерной графики.Имеет два частей: формат файла на основе XML и программный API для графические приложения. Ключевые особенности включают формы, текст и встроенная растровая графика с множеством разных рисунков стили. Он поддерживает создание сценариев на таких языках, как ECMAScript и имеет всестороннюю поддержку анимации.

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

SVG - это открытый стандарт, не требующий лицензионных отчислений и не зависящий от поставщиков. в рамках процесса W3C. Он пользуется сильной отраслевой поддержкой; Авторы спецификации SVG включают Adobe, Agfa, Apple, Canon, Corel, Ericsson, HP, IBM, Kodak, Macromedia, Microsoft, Nokia, Sharp и Sun Microsystems. Зрители SVG развернуты более чем 100 миллионов десктопов, и есть широкий спектр поддержки в множество инструментов для разработки.

SVG основан на многих других успешных стандартах, таких как XML. (Графика SVG основана на тексте, поэтому ее легко создать), JPEG и PNG для форматов изображений, DOM для сценариев и интерактивность, SMIL для анимации и CSS для стилизации.

SVG совместим. W3C выпускает набор тестов и результаты внедрения для обеспечения соответствия.

Применение SVG в промышленности

мобильный

В 2001 году индустрия мобильных телефонов выбрала SVG в качестве основы для его графическая платформа. Многие ведущие компании присоединились к SVG усилия по созданию профилей SVG Tiny и SVG Basic вместе называется SVG Mobile и ориентирована на устройства с ограниченными ресурсами, такие как как мобильные телефоны и КПК.

Спецификация SVG Mobile была принята 3GPP как требуемый графический формат для телефонов и мультимедиа следующего поколения обмен сообщениями (MMS). Уже по всему миру поставляются телефоны с поддержкой SVG.

SVG Mobile в основном используется для обмена сообщениями в таких приложениях, как как поздравительные открытки, диаграммы и анимации.

Дополнительные сведения см. В спецификации SVG Mobile, созданной подгруппой рабочей группы SVG, включая Nokia, Ericsson и Motorola.

Печать

Сочетание богатых графических функций и всесторонней текстовой поддержки и независимость от разрешения в SVG создают формат, подходящий для печать. Ведущие производители оборудования для печати в настоящее время разрабатывают спецификация SVG Print: специально подходящая версия SVG на распечатку.

Примеры использования SVG включают язык описания страниц на основе XML. похож на Postscript и PDF, окончательный формат архивирования и печать переменных данных, где информация предоставляется база данных и вывод с использованием графического шаблона SVG.SVG предоставляет идентичный интерактивный и печатный дисплей.

Основываясь на XML, SVG Print прекрасно вписывается в существующий XML. рабочие процессы. То есть организации, у которых есть обработка данных конвейер, поддерживающий XML, может легко вставлять возможности печати SVG в их рабочий процесс публикации, что позволяет создавать динамические документы. SVG Print также интегрируется с распространенными форматами описания вакансий. такие как PPML PODi и JDF CIP4.

Более подробную информацию см. В Спецификации печати SVG, созданной подгруппой SVG WG, включая Canon, HP, Adobe и Corel.

Веб-приложения

Популярность веб-приложений растет. Разработчики часто ограничены несовместимостью браузеров и отсутствуют функциональность. Благодаря мощной поддержке сценариев и событий SVG может использоваться в качестве платформы для построения графически насыщенных приложения и пользовательские интерфейсы.

С SVG разработчик приложения может использовать набор открытые стандарты. Они не привязаны к одной конкретной реализации, поставщик или инструмент для разработки.

Проектирование и замена

SVG хорошо подходит для рынка высококачественного графического дизайна. распространены в аэрокосмической, транспортной, автомобильной и Телекоммуникационные отрасли. Расширяемость XML позволяет схемам SVG иметь встроенные метаданные в проприетарных форматы, не влияя на презентацию.

Например, программа САПР может экспортировать в SVG для онлайн отображать, но встраивать данные в файл, что облегчает будущее редактирование или обратный путь.

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

ГИС и картография

Географические информационные системы предъявляют очень специфические требования: богатые графические функции, поддержка векторного и растрового контента и возможность обрабатывать очень большой объем данных. SVG - это хорошо подходит для этого рынка, и многие системы ГИС предоставляют SVG экспорт.

Как и в случае с упомянутым выше дизайном, возможность расширения SVG и встраиваемые метаданные полезны для картографического сообщества.Например, графические элементы можно идентифицировать как их собственные объекты (например, озеро), позволяющие приложениям взаимодействовать с объектами графическим способом.

SVG - прекрасное дополнение к консорциуму OpenGIS Формат GML. GML, также основанный на XML, описывает географические элементы такие как реки и дороги. Его можно преобразовать в SVG с помощью XML-конвейер для онлайн-отображения.

Встроенные системы

Большинство встроенных систем имеют серьезные ограничения ресурсов, в том числе меньшие экраны, ограниченная память и ограниченные возможности обработки по сравнению с типичными настольными системами.Спецификация SVG Mobile была разработана для таких устройств и позволяет разрабатывать графические пользовательские интерфейсы для встроенные системы. В своей поддержке событий ввода и сценариев, устройства могут использовать интерфейс SVG для управления и мониторинга, например как система управления промышленными устройствами.

Технические характеристики

SVG - это язык для описания двухмерной графики. в XML. SVG допускает три типа графических объектов: векторные графические фигуры (например,г., дорожки, состоящие из прямых линии и кривые), изображения и текст. Графические объекты могут быть сгруппированы, стилизованы, преобразованы и объединены в ранее визуализированные объекты. Текст может быть в любом XML пространство имен, подходящее для приложения, которое расширяет возможность поиска и доступность SVG-графики. В набор функций включает вложенные преобразования, отсечение пути, альфа-маски, эффекты фильтров, объекты шаблонов и расширяемость.

Рисунки SVG могут быть динамическими и интерактивными.Документ Объектная модель (DOM) для SVG, которая включает полный XML DOM, обеспечивает простой и эффективный вектор графическая анимация с помощью скриптов. Богатый набор мероприятий могут быть назначены обработчики, такие как onmouseover и onclick к любому графическому объекту SVG. Из-за его совместимости и использование других веб-стандартов, таких как сценарии могут выполняться на элементах SVG и другом XML элементы из разных пространств имен одновременно внутри та же веб-страница.

20 примеров SVG, от которых у вас отвиснет челюсть

SVG (или масштабируемая векторная графика) - это формат файлов на основе XML, который позволяет разработчикам и дизайнерам создавать высококачественную, динамическую графику и графические приложения с высоким уровнем точности.
Все современные браузеры поддерживают рендеринг SVG: однако для старых браузеров, таких как IE6, 7 и 8, без встроенной поддержки, вы можете использовать полифиллы, такие как SVG Web, которые используют Flash для рендеринга контента. Это позволяет легко настроить таргетинг на большинство пользователей в сети, не беспокоясь о проблемах совместимости.

Для мобильных веб-разработчиков, интересующихся совместимостью, я рад сообщить, что iOS 3.2+, Opera Mini 5+, Opera Mobile 10+ и Android 3+ также поддерживают рендеринг SVG-графики «из коробки».Поскольку между тем, что может предложить элемент и SVG, есть несколько общих черт, разработчики часто задаются вопросом, какое из них им следует использовать. На самом деле ответ на это беспокойство - оба.

Canvas предлагает высокопроизводительный холст, который лучше всего подходит для рендеринга растровой графики для игр, таких как спрайты, редактирования изображений и приложений, требующих возможности манипулирования пикселями. К сожалению, производительность приложений Canvas ухудшается по мере увеличения разрешения и не рекомендуется для использования в полноэкранных пользовательских интерфейсах.

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

Мы собираемся взглянуть на 20 отличных примеров использования SVG в реальных условиях, поэтому запустите современный браузер и посмотрите демонстрации ниже.

  • Прочтите все наши статьи о веб-дизайне здесь

01.Синхронизированная анимация и звук

Основная причина, по которой дизайнеры и разработчики изначально стекались к использованию Flash, заключалась в простоте создания иммерсивных, анимированных пользовательских интерфейсов с респектабельной частотой кадров.

Теперь, когда мы понимаем, насколько мощными могут быть векторные изображения в браузере в сочетании с другими мультимедиа (например, тегом аудио), мы можем приступить к созданию таких вещей, как эта демонстрация Винсента Харди: синхронизированная звуковая и графическая анимация. сочетание SVG, JavaScript и смоделированной «камеры».Отличный пример SVG в действии - неплохо для того, что не требует сторонних плагинов!

02. Анимированные мировые ориентиры, воссозданные в SVG

Один из истинных тестов для сравнения существующих подходов к решению задачи с новыми - это оценка того, насколько далеко вы можете зайти, воспроизводя пример того, что уже существует.

Именно это и сделал Марек Райда, когда увидел флэш-баннер с несколькими мировыми достопримечательностями, анимированными в углу страницы, и решил попробовать воссоздать его в SVG.Результатом его усилий стала легкая демонстрация, размер которой на 33 процента меньше, чем у ее альтернативы Flash. Этот пример SVG выглядит намного лучше, и его тоже не так сложно кодировать самостоятельно!

03. SVG-фильтры для видео HTML5

Хотя SVG предлагает большие возможности в области векторной графики, он также имеет ряд творческих применений за его пределами. В этой демонстрации Пол Айриш (из группы разработчиков Google Chrome) демонстрирует, как можно комбинировать SVG и CSS для создания довольно впечатляющих визуальных фильтров для видеоконтента.Эффект размытия, возможно, самый интересный, но другие эффекты, такие как инверсия содержимого кадра, также являются довольно интересными доказательствами концепции.

04. Добавление третьего измерения к SVG-графике

Всякий раз, когда обсуждается тема рендеринга графики в браузере, невозможно не говорить об уровне доступных возможностей 2D и 3D. Влияние на онлайн-игры, которое это оказывает, достаточно, чтобы привлечь внимание многих дизайнеров и разработчиков, так как же SVG может нам в этом помочь?

Что ж, в следующем примере SVG Николаса Дебейссата нам представлена ​​техника для имитации правдоподобных трехмерных перспектив объектов с использованием некоторых трюков JavaScript и векторов SVG.Обязательно ознакомьтесь с раскрывающимся списком на странице, так как существует множество примеров, которые могут разжечь ваш 3D-аппетит.

05. Визуализация векторной графики в SVG против Flash

Вот интересный пример SVG от Брэда Нойберга и SVG Web: библиотека JavaScript, которая полифицирует поддержку SVG для браузеров, которые еще не полностью ее поддерживают. Используя библиотеку (и включая встроенную поддержку SVG), вы можете мгновенно настроить таргетинг почти на 95 процентов существующей установленной веб-базы, что довольно много, если вы хотите рассмотреть возможность использования SVG в производственной среде.

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

06. Интерактивная головоломка SVG

Когда Flash только появился, некоторые из первых примеров, которые мы видели в дикой природе, были простыми головоломками и играми.Следуя этому примеру, вот пример головоломки SVG на основе Flickr, созданной @h__r__j. Он предоставит вам выбор изображений и позволит вам создать головоломку из любого, что вы выберете. Сложно завершить, но тем не менее весело и за этим стоит интересный код!

07. Компоненты пользовательского интерфейса SVG: панель субтитров HTML5

Как упоминалось во введении, одна из областей, где в прошлом широко использовался Flash, и в которой SVG также выделяется, - это творческие векторные пользовательские интерфейсы.Поскольку экраны и разрешения экранов постоянно увеличиваются в размерах, разработчикам необходимо иметь возможность обслуживать высококачественные компоненты пользовательского интерфейса, не беспокоясь о том, что качество ухудшается при более высоком или низком разрешении. Именно здесь SVG оказывается особенно полезным.

В этом замечательном примере SVG интерактивная панель субтитров присоединена к видеопроигрывателю HTML5, что позволяет легко переключаться между языками субтитров.

08. Применение масок SVG к видео HTML5

Несколько лет назад я помню, как работал над проектом, в котором нам приходилось применять маску вокруг встроенного Flash-видео, поэтому оказалось, что видео воспроизводится прямо внутри блока в форме как текст.И вот, очень похожий эффект теперь возможен с использованием комбинации встроенного SVG, видео HTML5 и небольшого количества CSS.

Этот пример SVG, созданный веб-разработчиком Майком Томасом, в настоящее время работает только в Firefox 4 и выше, но это вдохновляющий пример некоторых действительно креативных вещей, которые мы сможем разработать в будущем, когда появится более высокий уровень. нормализации между тем, что предлагают разные производители браузеров.

09. Маршруты по карте трассировки с помощью SVG и Raphael

Вот интересный практический пример SVG и его преимущества для пользователей.Карты - это то, что мы все используем в Интернете, но не было бы лучше, если бы мы могли легко строить и анимировать путь вдоль маршрутов, чтобы сделать эти путешествия немного более понятными? В этой демонстрации на A List Apart Брайан Суда рассматривает добавление настраиваемых анимированных маршрутов на карты с некоторой помощью от SVG до Raphael.

10. Разборка колонн Траяна с помощью SVG

Интересный факт: колонна Траяна - римская колонна в Италии, посвященная победе римского императора Траяна в войнах даков.Внутри колонн находится винтовая лестница, которую кто-то решил полностью смоделировать в псевдо-3D с помощью SVG.

Лучшая часть этого примера SVG - то, что он полностью интерактивен, что позволяет вам выбрать часть изображения, которую нужно вытащить. Эта анимированная деконструкция архитектуры, вероятно, является одним из самых забавных применений SVG, которые я когда-либо видел, и я определенно рекомендую его проверить.

11. Анимированная машина Руба Голдберга в SVG

Скорее всего, вы, вероятно, видели машину Руба Голдберга (RGM) в действии в какой-то момент своей жизни, даже не подозревая об этом, возможно, в мультфильме или в научном шоу .RGM - это
преднамеренно перестроенных машин, которые выполняют простые задачи очень сложным образом, обычно включая цепную реакцию.

В следующем примере SVG вы можете увидеть бумажный самолетик, летящий над мячом, который затем запускает другую цепную реакцию, домино и, наконец, загорается лампа. Я сказал, что это было перестроено, не так ли ?!

12. Интерактивная открытка Ирландии в SVG

Расширяя демонстрацию трассировки пути, поклонник SVG и всесторонний потрясающий разработчик Марек Райда решил задокументировать свою поездку в Ирландию на этой интерактивной открытке SVG, которая демонстрирует оба маршрута: трассировка, анимация большой площади и другие эффекты, например вращение.

13. Интерактивная SVG-карта «Преступность и бедность»

Визуализация больших наборов данных таким образом, чтобы их мог понять обычный мужчина или женщина с улицы, не всегда легкая задача. Часто вместо того, чтобы пытаться объяснить весь набор данных, может быть намного проще предложить несколько представлений данных, чтобы пользователи могли переключать контекст, чтобы перейти к подмножеству большего набора, который они заинтересованы в просмотре.

В этом примере SVG показатели преступности и бедности в США отображаются на карте США на уровне штата, но вам также предоставляется ряд способов изменить вид карты, включая масштабирование, выбор и перемещение. .Если вы хотите начать работу со своими собственными картами в SVG, у Даши Сало есть руководство, в котором показано, насколько легко этого можно достичь с помощью Рафаэля.

14. Анимированные тексты в SVG

Еще один отличный пример SVG из категории «Я не могу поверить, что это не Flash» - это демонстрация от Винсента Харди, где он комбинирует SVG, веб-шрифты и аудиотег для создания визуально приятная анимация текста, синхронизированная с музыкальной дорожкой. Также взгляните на другой пример, указанный для демонстрации цитаты Ганди!

15.Аналитика с Raphael и SVG

Если вы не использовали его раньше, Raphaël - это библиотека JavaScript, которая помогает упростить работу с векторной графикой в ​​Интернете. Поддерживая большинство браузеров от IE6 + и выше, на его сайте есть несколько отличных примеров использования SVG для создания впечатляющих визуализаций данных.

Мне лично больше всего нравится демонстрация аналитики, которая позволяет увидеть, насколько легко SVG может заменить Flash в больших приложениях для отслеживания сайтов. Если вас интересует версия Рафаэля с большим упором на графики, вам также может понравиться gRaphaël.

16. Визуальное представление подключений к Twitter

Twings - это инструмент, который позволяет визуализировать ваших подписчиков в Twitter в виде колец на основе ряда различных факторов. Помимо того, что это хороший пример SVG, это также интересный пример того, как сегментировать запросы к Twitter API, когда вам нужно получить информацию о каждом подписчике за пределами того, что API обычно может возвращать для каждого запроса (100). Не забудьте зайти на главный сайт, где Иван Лазаревич объясняет, как он создал Twings, с несколькими дополнительными советами об этом инструменте!

17.Blobular

Blobular - это забавный пример SVG Кэмерона Адамса, известного как Человек в синем, который позволяет вам изменять цвет, вязкость и размер лунок и капель! Вы можете поэкспериментировать с расширением краев блоба до определенных пределов, и как только порог будет превышен, в блоге могут появиться другие капли. Вы, вероятно, не будете использовать это для создания следующего Google+, но это все еще довольно интересная реализация.

18. Жуткий рот в SVG

Эксперимент Дуга Шеперса «жуткий рот» дает нам возможность заглянуть внутрь человеческого рта в SVG.Знаете ли вы разницу между альвеолярным и альвеопалатальным? Я тоже этого не делал, но это прекрасный пример SVG, сочетающего векторную графику с анимацией, чтобы помочь улучшить онлайн-образование так, как в прошлом Flash использовался для создания диаграмм по науке и биологии.

19. Анимированные часы SVG

В этой демонстрации у нас есть пример SVG-рендеринга вращающихся цифровых часов. Я нашел эффект очень интересным, поскольку это не только хороший пример анимированного текста, но и обратите внимание на то, как задняя сторона каждого персонажа меняет цвет в зависимости от положения в анимированном вращении.

20. Интерактивный SVG на iPad

Как упоминалось во введении, к графике SVG можно получить доступ через DOM, поэтому к ним можно прикреплять обработчики событий так же, как и с другими элементами на странице. Имея это в виду, Герт-ян Ван Дер Вел создал простую демонстрацию, демонстрирующую, как вы можете взаимодействовать с графикой SVG на iPad. Если вы поигрались с перемещением объектов в браузере на устройствах iOS, многое из этого покажется вам знакомым, но это полезная демонстрация для тех, у кого еще не было возможности изучить это!

Понравилось? Прочтите это!

Адди Османи (Addy Osmani) - разработчик пользовательского интерфейса, а в настоящее время - разработчик программного обеспечения для AOL.Он также является членом команд jQuery Bug Triage и API Docs. Его еженедельные сообщения пользовательского интерфейса можно найти на AddyOsmani.com.

Какие виды использования SVG впечатлили вас больше всего? Какие из них должны были войти в наш список? Дайте нам знать об этом в комментариях!

Что такое SVG? Ваш путеводитель по файлам SVG

Хотя он был задуман еще в конце 1990-х, SVG во многих отношениях является форматом файлов «гадкий утенок», который вырос в лебедя. Слабо поддерживавшаяся и в значительной степени игнорируемая на протяжении большей части 2000-х годов, с 2017 года ситуация изменилась.Все современные веб-браузеры теперь отображают SVG без проблем, и большинство приложений для векторного рисования предлагают возможность его экспорта. SVG стал широко используемым форматом изображений в Интернете.

Это произошло не случайно. Хотя традиционные форматы файлов растровой графики, такие как JPG и PNG, идеально подходят для фотографий или очень сложных изображений, оказывается, что SVG - это единственный формат, который отвечает сегодняшним требованиям веб-разработки по масштабируемости, быстродействию, интерактивности, программируемости, производительности и доступности.

Вот изображение в формате SVG. Эту иллюстрацию размером всего 60 КБ можно использовать практически в любом контексте в Интернете - как вектор, мы можем быть уверены, что он будет масштабироваться в соответствии с требованиями любого окна просмотра или ширины элемента.

Разумеется,

SVG могут быть намного меньше 60 КБ. Эта увеличенная иллюстрация помогает нам сделать вывод о гибкости SVG, но это идеальный формат для значков и элементов интерфейса, некоторые из которых могут даже не весить целый килобайт.

Что такое SVG?

SVG - это векторный графический формат на основе расширяемого языка разметки (XML) для Интернета и других сред.XML использует теги, такие как HTML, хотя и строже. Вы не можете, например, опустить закрывающий тег, поскольку это сделает файл недействительным, и SVG не будет отображаться.

Чтобы дать вам представление о том, как выглядит код SVG, вот как нарисовать белый круг с черной рамкой:

  
  

Как видите, под капотом документы SVG - это не что иное, как простые текстовые файлы, описывающие линии, кривые, формы, цвета и текст.Поскольку он удобочитаемый, легко понятный и модифицируемый, будучи встроенным в документ HTML как встроенный SVG , кодом SVG можно управлять с помощью CSS или JavaScript. Это придает SVG гибкость и универсальность, которые не могут сравниться с традиционными графическими форматами PNG, GIF или JPG.

SVG - это стандарт W3C, что означает, что он может легко взаимодействовать с другими открытыми стандартными языками и технологиями, включая JavaScript, DOM, CSS и HTML. Пока W3C устанавливает глобальные отраслевые стандарты, вполне вероятно, что SVG останется фактическим стандартом для векторной графики в браузере.

А как насчет холста HTML5? Эти две технологии очень разные, но этот вопрос по понятным причинам часто возникает. Мы разбили цели, плюсы и минусы каждого из них в SVG и Canvas, чтобы у вас было понимание, чтобы каждый раз делать правильный выбор.

Почему вам следует использовать SVG?

Прелесть SVG в том, что он может решить многие из самых неприятных проблем современной веб-разработки. Давайте рассмотрим некоторые из них.

Масштабируемость и скорость отклика

Под капотом SVG использует формы, числа и координаты, а не пиксельную сетку для визуализации графики в браузере, что делает его независимым от разрешения и неограниченно масштабируемым.Если подумать, инструкции по созданию круга одинаковы, используете ли вы ручку или самолет для рисования. Меняется только масштаб.

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

Напротив, растровые форматы, такие как GIF, JPG и PNG, имеют фиксированные размеры, что приводит к пикселизации при масштабировании. Хотя различные методы адаптивного изображения оказались ценными для пиксельной графики, они никогда не смогут по-настоящему конкурировать с возможностью неограниченного масштабирования SVG.

Программируемость и интерактивность

SVG полностью редактируется и поддерживает скрипты. Все виды анимации и взаимодействия могут быть добавлены к встроенной SVG-графике с помощью CSS и / или JavaScript.

Доступность Файлы SVG

основаны на тексте, поэтому, когда они встроены в веб-страницу, их можно искать и индексировать. Это делает их доступными для программ чтения с экрана, поисковых систем и других устройств.

Производительность

Одним из наиболее важных аспектов, влияющих на производительность сети, является размер файлов, используемых на веб-странице.Графика SVG обычно меньше по размеру по сравнению с форматами файлов растровых изображений.

Распространенные варианты использования SVG и поддержка браузера

SVG имеет множество практических примеров использования. Давайте рассмотрим самые важные из них.

Простые иллюстрации и схемы

Любой традиционный рисунок, который можно создать с помощью пера и карандаша, должен идеально переводиться в формат SVG.

Логотипы и значки

Логотипы и значки должны быть четкими и четкими при любом размере - будь то размер кнопки или рекламного щита - что делает их идеальными кандидатами для SVG.Кроме того, значки SVG более доступны и их намного легче размещать.

Анимации

Вы можете создавать привлекательные анимации, включая классные эффекты рисования линий, с использованием графики SVG. Фактически, код SVG может взаимодействовать с анимацией CSS, а также с JavaScript и собственными встроенными функциями анимации SMIL.

Интерактивность (диаграммы, графики, инфографика, карты)

SVG можно использовать для построения данных и их динамического обновления в зависимости от действий пользователя или других событий.См. Раздел «Интерактивная инфографика SVG» и «Интерактивная карта проезда в формате SVG».

Спецэффекты

Многие живые эффекты могут быть достигнуты с помощью SVG, включая изменение формы или различные липкие эффекты.

Создание интерфейсов и приложений

SVG позволяет создавать сложные интерфейсы, которые можно интегрировать с HTML5, веб-приложениями и многофункциональными интернет-приложениями (RIA).

Как видите, SVG используется почти везде и в бесчисленных ситуациях.Хорошая новость обо всем этом заключается в том, что поддержка SVG браузерами отличная, в чем вы можете убедиться на caniuse.com.

Итак, теперь вы знаете, что такое SVG и почему они так хороши для Интернета. В качестве следующего шага я рекомендую вам ознакомиться со статьей Крейга о различных способах использования CSS с SVG, а также о способах включения SVG на веб-страницу и управления ими. Или, если вы хотите погрузиться в подробности, посмотрите книгу Криса Койера « Practical SVG ».

.

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *