10 золотых правил для отзывчивых SVGS

Sep 12, 2025
Инструкции

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

Здесь я кратко известел наиболее важные из них как 10 золотых правил.

01. Настройте свои инструменты правильно

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

Во-первых, если нет убедительных причин для выполнения иначе, установите измерения на «пиксели» в вашем векторе. В то время как это не имеет значения для SVG (что будет измерять Viewbox и элементы радостно практически практически в любой системе измерений) имеет смысл разрабатывать чертеж SVG с использованием общих единиц CSS, а не на печати по умолчанию дюймов; и это также облегчает добавление @средства массовой информации Запросы и другие вмешательства позже.

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

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

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

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

Если вам дают векторные файлы, которые не следуют этому правилу, не волнуйтесь - большинство Вектор искусства Приложения имеют опцию «Упрости», вы можете использовать для уменьшения количества точек в элементе без изменения его формы. В качестве альтернативы, для получения подробной работы я предложил плагин, как Asutele Graphics 'VectorScribe.

02. Удалить атрибуты высоты и ширины

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

 & lt; svg xmlns = "http://www.w3.org/2000/svg" Viewbox = "0 0 500 500" и GT;
& lt; - svg код здесь - & gt;
& lt; / svg & gt; 

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

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

03. Оптимизировать и министерству вывода SVG

A combination of intelligent hand-editing and post-production optimisation can reduce SVG file sizes markedly

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

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

04. Изменить код для IE

Правило 2 упомянуто, что правильно оптимизированные SVGS полностью отзывчивы в современных браузерах. Это правда, если мы считаем Microsoft Edge в виде современного браузера. Для IE 9-11 у нас есть несколько вопросов для решения. Если мы используем SVG в качестве изображения:

.
  

Мы можем заставить IE9-11, чтобы правильно отобразить изображение, используя селектор атрибута CSS:

 IMG [SRC $ = ". SVG"] {Ширина: 100%;} 

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

По этим и другим причинам SVG все чаще используется встроенным. В этом случае код SVG нуждается в небольшом количестве лечения для IE:

 & lt; body & gt;
...
& lt; svg xmlns = "http://www.w3.org/2000/svg" Viewbox = "0 0 525 365" PRESERVELSPECTRATIO = "XMIDYMIN Slice" & gt; 

В добавок к preserveaspectratio. Атрибут, т. Е. Нужно немного больше рекомендаций для сохранения правильного масштабирования изображения: взять ширину SVG ( 365. В этом случае) разделите его по высоте ( 525. ) и умножьте результат на 100 процентов. Это станет прокладки - дно Значение для SVG, «PROPPYPPY» достаточно открыто в IE, чтобы отобразить SVG в правильном соотношении аспекта:

 & lt; body & gt;
...
& lt; svg xmlns = "http://www.w3.org/2000/svg" Viewbox = "0 0 525 365"
preserveaspectratio = "xmidymin slice"
Стиль = "Ширина: 100%; прокладки-дно: 69,52%; высота: 1px; переполнение: видимый" & gt; 

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

05. Рассмотрим SVG для текста героя

Using SVG for hero text means it will automatically scale in line with its container

Использование SVG для текста героя означает, что он автоматически шкала в соответствии со своим контейнером

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

 & lt; header & gt;
& lt; svg xmlns = "http://www.w3.org/2000/svg" Viewbox = "0 0 285 80" & gt;
& lt; текст x = "0" y = "66" & gt; Kauai & lt; / text & gt;
& lt; / svg & gt;
& lt; / header & gt; 

CSS:

 Заголовок SVG Text {
Вес шрифта: 900; Размер шрифта: 90px; Заполните: синий;
} 

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

06. Оставьте ширину и высоту на месте для прогрессивных иконок

A non-scaling-stroke line has been applied to this speech bubble so it will not change in width when the viewport is resized

Линия не масштабирования инсультирования была применена к этому речевым пузырем, поэтому он не изменится в ширине, когда просмотр вида

Одно исключение из правила 2 - иконы и небольшие логотипы, которые должны сохранить их ширина и высота Атрибуты, если вы хотите, чтобы они были постепенно расширены:

 & lt; href = "http://codepen.io" & gt;
    & lt; svg prote = "img" ARIA-MALK = "WODEPEN" Ширина = "50" высота = "50" и GT;
        & lt; title & gt; codepen & lt; / title & gt;
        & lt; Используйте xLink: href = "# кодепен" / & gt;
    & lt; / svg & gt;
& lt; / a & gt;
...
& lt; SVG Style = "Дисплей: нет;" & gt;
    & lt; символ ID = "Кодепен" Viewbox = "0 0 50 50" & gt;
        & lt; путь d = "..." / & gt;
    & lt; / symbol & gt;
& lt; / svg & gt; 

Вы можете увидеть пример этой методики в действии здесь Отказ

Если мы только размер значков SVG с CSS, а лист стиля сайта не загружается, значки появятся при размере по умолчанию замененного элемента: 300px x 150px. Сохраняя высоту и ширину, в качестве атрибутов, мы можем по умолчанию разместить его до ближайшего разумного прикосновения и использовать наши CSS для повышения того, как они представлены.

07. Используйте векторные эффекты, чтобы держать волосы тонкие

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

 Путь {
    Заполните: #fff; Ход: # 111;
    Ширина хода: 2;
    Векторный эффект: неразмерный ход;
} 

Взгляни на полный пример этой техники Отказ

08. Помните растровые изображения

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

 & lt; / image & gt; 

09. Рассмотрим адаптивные решения

The classic Coca-Cola logo rendered at different adaptive sizes

Классический логотип Coca-Cola, представленный на разных адаптивных размерах

Делать вещи пойти «присесть» - это только одна часть адаптивного дизайна. О чем RWD о том, что в большим смысле адаптивного дизайна представляет собой подходящее содержание во всех размерах просмотра.

Это может быть достигнуто различными способами. ackivelogos.co.uk предоставляет серию примеров, которые используют SVG SPRITES, но я предпочитаю интегрировать средства массовой информации в SVG для создания того, что я называю «брендинг модулей». Этот подход позволяет мне добавить, удалять и изменять видимость компонентов. Узнайте больше о адаптивных брендингах модулей в моей статье Отказ

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

10. Интеграция медиа-запросов в SVG

Многие люди не знают, что медиа-запросы CSS могут быть написаны внутри самого SVG:

 & lt; svg xmlns = "http://www.w3.org/2000/svg" Viewbox = "14 82 272 139" & gt;
& lt; defs & gt;
& lt; Стиль & gt;
SVG G {Переход: 1S; }
@media все и (Макс-Ширина: 90Rem) {
#drink, #coke {непрозрачность: 0; }
}
& lt; / style & gt;
& lt; / defs & gt;
& lt; g id = "Coca-Cola" & gt;
& lt; путь d = "m109.6 ... & gt; 

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

Это может привести к очень маленьким элементам при небольших размерах ViewStort, обрамленных внутри относительно большой площади холста. Есть несколько решений для этого, в том числе Изменение размера ViewBox и Расширение элементов, чтобы компенсировать Отказ

Вывод

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

Эта статья изначально появилась в Чистый журнал Выпуск 283; Купить это здесь !

Статьи по Теме:

  • 12 должны иметь инструменты тестирования кода
  • Заточить свои навыки эскизы
  • Superchark SVG анимации с GSAP

Инструкции - Самые популярные статьи

Как добавить шрифты в Photoshop

Инструкции Sep 12, 2025

(Образ кредита: Adobe) Шрифты в Photoshop: быстрые ссылки - ..


10 способов улучшить вашу 3D анатомию

Инструкции Sep 12, 2025

(Образ кредита: Райан Кингслиен) Воскус человеческой фигуры - од�..


Как создать 3D траву

Инструкции Sep 12, 2025

3D Trass может быть создана различными способами и является важным активо..


понять обработку естественного языка

Инструкции Sep 12, 2025

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


Как выбрать с помощью инструментов Photoshop's Lasso

Инструкции Sep 12, 2025

Выбор - одна из наиболее важных задач, которые вы учитесь освоить в Photoshop CC. Отказ Хороший выбор д�..


Anatomy MasterClass: идеально подходит ваши цифры

Инструкции Sep 12, 2025

В этом MasterClass я раскрою основные шаги, которые вам нужно следовать, что�..


Как переместить между студией DAZ и ZBRush

Инструкции Sep 12, 2025

Для новичков к Zbrush Интерфейс кажется, очень отличается от друг..


Нарисуйте портрет мунк в Photoshop CC

Инструкции Sep 12, 2025

Как часть его Скрытые сокровища творчества Project, Adobe преобразо�..


Категории