Из иллюстратора в SVG

Михаил Баранов, Эдстер

Из иллюстратора в SVG

Михаил Баранов, Эдстер

Обложка

Случай из жизни

SVG — Scalable Vector Graphics

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

Всегда была
v2 — частично. Потом стало хорошо
IE 9+. С багами до сих пор
В 10 было. Про 9 — неизвестно
Как все вебкиты

На мобильных

v2 — нет. v3 — частично. v4 — ок
Всегда была
Всегда была
Сейчас есть

Ссылку дашь?

svgvspng.com

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

32x32

128x128

Нужно ли делать icon@3x.png?

Когда SVG не подходит?

Почему не иконочный шрифт?

Ещё больше аргументов против иконочного шрифта

Из иллюстратора в SVG

Обложка

Почему Illustrator?

 

Photoshop CS6

Как сохранить?

Сколько вешать в граммах?

Размер, пикс Минимальная точность координат
32 3
64 2
128 2
256 1

Оптимизация процесса

Оптимизация процесса

Оптимизация процесса

Был слой — стал id

<svg ...>
    <g id="tree__item_id_31">
        <circle id="tree__pointer" />
    </g>
    <g id="tree__item_id_32">...</g>
</svg>

А зачем?

Оптимизация процесса

Был style — стал <style> (и class)

<svg ...>
    <style type="text/css">
            .chip-icon_x002D_highlight{fill:#FFFFFF;}
    </style>
    <path class="background_x002D_color" d="..."/>
</svg>
    

Оптимизация процесса

Оптимизация процесса

Внезапный вьюпорт

Лечение

Сломаные символы

Лечение

Из фотошопа в SVG

Жить стало лучше…

<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1"
    xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
    width="32px" height="32px" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve">
<circle style="fill:#FFFFFF;stroke:#000000;stroke-miterlimit:10;" cx="16" cy="16" r="13.2"/>
</svg>
        
<svg xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink"
     preserveAspectRatio="xMidYMid"
     width="20" height="20" viewBox="0 0 20 20">
    <defs>
        <style>...</style>
    </defs>
    <circle cx="10" cy="10" r="8" class="cls-1"/>
</svg>

Из иллюстратора в SVG

Обложка

SVG в моём коде

<img src="pic.svg" />
style="background: url(pic.svg)"
<div><svg>...</svg></div>
<div><svg><use xlink:href="#pic"></use></svg></div>
        

And one more thing

Спасибо!