SVG

Матеріал з Wiki.Zina
Перейти до навігації Перейти до пошуку

Как делать SVG в Adobe Illustrator

[ред. | ред. код]

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

  1. Именуйте слои понятно (названием иконки) и удаляйте лишние слои.
  2. Делайте Artboard такого же размера, как и изображение: Object → Artboards → Fit to Artwork Bounds. Исключение — если объект состоит не из контуров с заливкой, а из линий с заданной толщиной обводки — тогда обводка может выходить за пределы Artboard. В этом случае нужно подгонять размер векторного изображения под Artboard на глаз.
  3. Упрощайте кривые Object → Path → Simplify
  4. Объединяйте контуры: Window → Pathfinder (Ctrl-Shift-F9) → Unite
  5. Необязательно: конвертируйте линии с толщиной обводки в контуры с заливкой: Object → Expand…. Это делает SVG чуть более тяжелым и менее удобным для анимации, но более совместимым (одинаково отображающимся в разных браузерах и при разных размерах).

Сохраняйте из Adobe Illustrator в SVG через экспорт: File → Export → Export As….
В SVG Options выбирайте такие настройки:

  • Styling: Internal CSS
  • Object IDs: Layer Names
  • Decimal: 1 — чем меньше значение, тем меньше размер файла (минимальное значение — 1); а чем больше, тем точнее расположение элементов.
  • Если вебмастер потом будет править цвет или работать с анимацией — уберите галочку Minify. Код SVG станет чуть тяжелее, но будет более читабельным и удобным для работы.

Оптимизация SVG файлов

[ред. | ред. код]

https://jakearchibald.github.io/svgomg/

Шаблон оптимизированного URL-encoded SVG

[ред. | ред. код]
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M224%20387.814V512L32 320l192-192v126.912C447.375 260.152 437.794 103.016 380.93 0 521.287 151.707 491.48 394.785 224 387.814z'/%3E%3C/svg%3E");

Источник: https://codepen.io/tigt/post/optimizing-svgs-in-data-uris

Настройка Gulp для создания SVG спрайтов

[ред. | ред. код]

Используем gulp-svg-sprite. Установить:

npm install --save-dev gulp-svg-sprite

Добавить в gulpfile.js:

var gulp				= require('gulp'),
svgSprite				= require('gulp-svg-sprite');

gulp.src('path/to/assets/*.svg')
	.pipe(svgSprite( /* ... Insert your configuration here ... */ ))
	.pipe(gulp.dest('out'));

Источники:

Ссылки

[ред. | ред. код]

Adobe Illustrator

[ред. | ред. код]