В данном уроке мы научимся строить интерактивную инфографику с помощью SVG, CSS и JavaScript. Одной из менее обсуждаемых тем является свойство новых браузеров в увеличении поддержки файлов в формате SVG. В отличие от растровых изображений, например, PNG, JPG или GIF, векторная графика в файлах SVG абсолютно масштабируемая к любому размеру и будет отображаться при любом разрешении или плотности экрана без потери качества. Во многих случаях файлы SVG намного меньше по размеру и быстрее загружаются. Но самое интересное, что некоторые разработчики не понимают то, что SVG основан на спецификации XML и может применяться подобным образом к HTML.

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

Подготовка SVG файла

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

Независимо от программного обеспечения, которое вы выберите, существенной остается возможность группировать объекты вместе и иметь возможность назвать эти группы (прописывая id атрибуты). Это позволяет нам организовывать наш SVG в соответствующую иерархию, к которой мы позже сможем получить доступ, используя CSS и/или JavaScript. У Illustrator и у Inkscape есть возможность делать это, выбирая многократные графические элементы, идя в Object > Group (группировать) (или Ungroup — разгруппировать) с главного меню.

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

В Illustrator это можно сделать в панели слои (layers). Просто найдите в панели объект, который вы желаете назвать, дважды кликните на поле слоя и введите желаемое id . В Inkscape используйте Object > Object Properties панель для того, чтобы приписать объекту или группе id . Также это можно сделать с Edit > XML Editor панель, где можно прописывать не только id, а также и классы.

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

id ="background" > id ="bg-lines-left" > < /g> id ="bg-lines-right" > < /g> < /g> id ="logo" > < /g> id ="quote" > id ="quote-left-brace" > < /g> id ="quote-right-brace" > < /g> id ="quote-text" > < /g> < /g> id ="timeline" > id ="coffee" > id ="coffee-bar" /> id ="coffee-arrow" /> id ="coffee-time" > < /g> id ="coffee-badge" > id ="coffee-circle" /> id ="coffee-title" > < /g> id ="coffee-details" > < /g> < /g> < /g> id ="design" > id ="design-bar" /> id ="design-arrow" /> id ="design-time" > < /g> id ="design-badge" > id ="design-circle" /> id ="design-title" > < /g> id ="design-details" > < /g> < /g> < /g> id ="build" > id ="build-bar" /> id ="build-arrow" /> id ="build-time" > < /g> id ="build-badge" > id ="build-circle" /> id ="build-title" > < /g> id ="build-details" > < /g> < /g> < /g> id ="complain" > id ="complain-bar" /> id ="complain-arrow" /> id ="complain-time" > < /g> id ="complain-badge" > id ="complain-circle" /> id ="complain-title" > < /g> id ="complain-details" > < /g> < /g> < /g> id ="beer" > id ="beer-bar" /> id ="beer-arrow" /> id ="beer-time" > < /g> id ="beer-badge" > id ="beer-circle" /> id ="beer-title" > < /g> id ="beer-details" > < /g> < /g> < /g> < /g>

Разметка выше показывает нам структуру, к которой мы идем.

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

Загрузка SVG в HTML с помощью JAVASCRIPT

HTML

Есть способы включить или поместить SVG в HTML. Это возможно через использование тега , тега , или с использованием свойства CSS’ background-image . Для наших целей нужен доступ к DOM внутри SVG. Мы будем использовать HTML5. SVG загрузим прямо в страницу, используя jQuery.

Во-первых, создадим блок div в HTML документе:

JavaScript

Теперь, используя jQuery загрузку, загрузим файл SVG в #stage блок и назначим ему класс svgLoaded, который будем использовать, чтобы вызвать анимацию:

$(function () { $("#stage" ) .load ("interactive.svg" ,function (response) { $(this ) .addClass ("svgLoaded" ) ; if // Make absolutely sure you are running this on a web server or localhost! } } ) ; } ) ;

Важно : загружаем SVG с помощью JavaScript для того, чтобы получить доступ к его DOM. Chrome (и возможно другие браузеры) не позволят сделать вам это локально; это сработает только при запуске с протоколом HTTP из соображений безопасности.

CSS

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

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

#stage { width : 1024px ; height : 1386px ; }

Стилизация элементов SVG: установка «transform-origins»

Ключ к оживлению элементов в пределах холста находится в свойстве transform-origin . По умолчанию все преобразования к любому элементу в SVG происходят от (0px, 0px) холста SVG. Для любого элемента, который мы желаем преобразовать (например, масштабировать, повернуть), необходимо установить подходящий transform-origin относительно левой и верхней стороны холста SVG. Источник будет отличаться от каждого элемента в зависимости от желаемого эффекта/анимации, но в большинстве случаев будет равняться центральной точке, где элемент уже помещен. Это может быть довольно утомительно, но проще просто скопировать координатную информацию, которая представлена в нашем векторном редакторе.

#coffee { transform-origin: 517px 484px ; } #coffee-badge { transform-origin: 445px 488px ; } #coffee-title { transform-origin: 310px 396px ; } #coffee-details { transform-origin: 311px 489px ; } #design { transform-origin: 514px 603px ; } #design-badge { transform-origin: 580px 606px ; } #design-title { transform-origin: 712px 513px ; } #design-details { transform-origin: 710px 620px ; } #build { transform-origin: 511px 769px ; } #build-badge { transform-origin: 445px 775px ; } #build-title { transform-origin: 312px 680px ; } #build-details { transform-origin: 310px 790px ; } #complain { transform-origin: 512px 1002px ; } #complain-badge { transform-origin: 586px 1000px ; } #complain-title { transform-origin: 718px 921px ; } #complain-details { transform-origin: 717px 1021px ; } #beer { transform-origin: 513px 1199px ; } #beer-badge { transform-origin: 444px 1193px ; } #beer-title { transform-origin: 313px 1097px ; } #beer-details { transform-origin: 316px 1202px ; }

Применение некоторых начальных преобразований

Нам необходимо установить начальные стили для изменения позиции некоторых объектов. А также необходимо скрыть определенные объекты, которые мы не хотим показывать до момента наведения на них курсора.

Для того, чтобы это сделать мы будем использовать селекторы CSS. В основном мы выбираем объекты с id “суффиксами”.

[ id$=badge] { /* Any element with an id that ends in "badge" */ transform: scale(0 .5 , 0 .5 ) ; } [ id$=title] { transform: scale(1 .8 ) translate(0px , 48px ) ; } [ id$=details] { transform: scale(0 , 0 ) ; }

Добавление стиля для:hover и применение переходов

Мы выбираем элементы внутри группы hovered и превращаем их обратно в исходное положение. Затем устанавливаем переход 0.25s для классного анимационного эффекта.

#timeline > g:hover [ id$=badge] , #timeline > g:hover [ id$=details] { transform: scale(1 , 1 ) ; } #timeline > g:hover [ id$=title] { transform: scale(1 ) translate(0px , 0px ) ; } [ id$=badge] , [ id$=title] , [ id$=details] { transition: transform 0 .25s ease-in-out; }

Введение в анимацию

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

@keyframes left-brace-intro { 0 % { transform: translateX(220px ) ; opacity: 0 ; } 50 % { opacity: 1 ; transform: translateX(220px ) ; } 100 % { transform: translateX(0px ) ; } } @keyframes right-brace-intro { 0 % { transform: translateX(-220px ) ; opacity: 0 ; } 50 % { opacity: 1 ; transform: translateX(-220px ) ; } 100 % { transform: translateX(0px ) ; } } @keyframes fade-in { 0 % { opacity: 0 ; } 100 % { opacity: 1 ; } } @keyframes grow-y { 0 % { transform: scaleY(0 ) ; } 100 % { transform: scaleY(1 ) ; } } @keyframes grow-x { 0 % { transform: scaleX(0 ) ; } 100 % { transform: scaleX(1 ) ; } } @keyframes grow { 0 % { transform: scale(0 , 0 ) ; } 100 % { transform: scale(1 , 1 ) ; } }

Создание анимационной последовательности

Мы можем использовать селекторы, основанные на классе svgLoaded, который мы применяли ранее.

Для того, чтобы задать анимационную последовательность, зададим свойство animation-delay , и установим animation-fill-mode: backwards так, чтобы анимация была с паузами.

SvgLoaded #logo { animation: fade-in 0 .5s ease-in-out; } .svgLoaded #quote-text { animation: fade-in 0 .5s ease-in-out 0 .75s ; animation-fill-mode: backwards; } .svgLoaded #quote-left-brace { animation: left-brace-intro 1s ease-in-out 0 .25s ; animation-fill-mode: backwards; } .svgLoaded #quote-right-brace { animation: right-brace-intro 1s ease-in-out 0 .25s ; animation-fill-mode: backwards; } .svgLoaded #background { animation: grow-y 0 .5s ease-in-out 1 .25s ; transform-origin: 512px 300px ; animation-fill-mode: backwards; } .svgLoaded #background > g { animation: grow-x 0 .25s ease-in-out 1 .75s ; animation-fill-mode: backwards; } .svgLoaded #background > g:last-of-type { transform-origin: 458px 877px ; } .svgLoaded #background > g:first-of-type { transform-origin: 563px 877px ; } .svgLoaded #coffee , .svgLoaded #design , .svgLoaded #build , .svgLoaded #complain , .svgLoaded #beer { animation: grow 0 .25s ease-in-out; animation-fill-mode: backwards; } .svgLoaded #coffee { animation-delay: 2s; } .svgLoaded #design { animation-delay: 2 .25s ; } .svgLoaded #build { animation-delay: 2 .5s ; } .svgLoaded #complain { animation-delay: 2 .75s ; } .svgLoaded #beer { animation-delay: 3s; }

WEB-шрифты

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

12PM

Как мы можем видеть, файл SVG был экспортирован с использованием шрифта font-family с именем ‘LeagueGothic’ . Таким образом мы просто должны определить веб-шрифт в CSS, используя точно такое же имя.

@font-face { font-family : "LeagueGothic" ; url ("../fonts/league-gothic/league-gothic.eot.woff" ) format("woff" ) ; }

Это все! Надеемся, что вам понравился урок и вы нашли его полезным и информативным. Будем рады услышать ваши комментарии.

Перевод — Дежурка.

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

Нельзя отрицать силу визуалов на просторах интернета и в нашей повседневной жизни. В YouTube и Instagram доминирует визуальное содержание; YouTube – 3 по посещаемости сайт в сети, и в Instagram более 80 миллионов фотографий выкладываются каждый день.

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

Инфографика – фаворит среди аудитории и продавцов, и она на 800% сильнее интересует людей сегодня, чем в 2012.

Вдобавок ко всему, контент создается с угрожающей скоростью – 60% маркетологов создают по крайней мере небольшую часть нового контента каждый день! Подробнее вы можете узнать из обзорной статьи.

Поскольку все больше и больше людей стали создавать контент, кое-что становится ясно: для того, чтобы вас увидели, вам нужно выделяться.

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

С таким визуальным контентом, как инфографика, маркетологи имеют уникальную возможность видеть будущее по мере его приближения. Компании, графические дизайнеры, и маркетологи – все начинают использовать инфографику – обновлять ее, чтобы сделать ее еще более привлекательной для аудитории. Даже если вы уже “просто вывешиваете” инфографику регулярно, никогда не рано узнавать о тенденциях, которые только начинают развиваться, так же как не рано узнавать, как реализовывать их в ваших стратегиях контент-маркетинга.

Если вы хотите заглянуть в будущее, и, возможно, даже узнать несколько трюков раньше, чем все остальные, сейчас самое время!

Вот три типа инфографики, которые будут наиболее распространенными в (ближайшем) будущем.

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

1. Интерактивная инфографика

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

Независимо от вашего бизнеса, продукта, услуги или сообщения, вы можете создать интерактивную инфографику, которая позволит людям оценивать себя (например, «рассчитайте свой BMI здесь»). Пользователи могут также кликнуть на соответствующую информацию, которая отправит их к более глубоко ориентированному ресурсу, или обратно к целевой странице, создавая тем самым трафик. Это очень адаптируемый и веселый способ привлечь аудиторию.

Многие маркетологи уже приспособились к этому виду инфографики, и это передается быстро. Но в это же время многие, все-таки, берут за основу простые инфографики :

….только представьте, что еще можно делать с интерактивными инфографиками.

Вы можете попробовать:

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

Для более подробного примера интерактивной инфографики, посмотрите на эту:

Чтобы сделать инфографику высоко интерактивной (с прокруткой, всплывающими окнами и т.д.) вам понадобиться узнать немного о HTML5 или CSS, или нанять кого-то еще, кто разберется с этим вопросом для вас.

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

Почему нужно стараться внедрять инфографику в ближайшем будущем?

  • Это воодушевляет вашу аудиторию взаимодействовать с вашим контентом и делиться им
  • Это генерирует трафик (через ссылки)
  • Это доказывает вашей аудитории, что вы инновационны, находчивы и намереваетесь предоставлять своевременный и интересный контент.
  • Существуют уровни интерактивной инфографики, которые делают управляемым ее развитие

2. Встроенное видео и GIF

Это другой тип инфографики, который мы наблюдаем все чаще и чаще сегодня. Инфографики, предлагающие короткие видео или даже GIF (Формат обмена графическими данными) – отличный способ привлечь внимание и выделить вашу инфографику из толпы. Тогда как это ограничивает платформы, вы можете делиться своей инфографикой в настоящем времени.

Множество простых инструментов для создания инфографик, таких как Easel.ly, предлагают опцию “Встроенное видео с YouTube”, или же вы можете добавить видео в инфографику, которую вы создаете в Photoshop с помощью видео слоя. Вы можете даже добавить видео в слайд Powerpoint, который вы также можете превратить в инфографику.

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

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

Если вы хотите перейти на следующий уровень, вы можете сделать видео из инфографики, которую вы уже имеете. Это отличная возможность быть увиденным на YouTube,в Instagram, и даже на таких видео платформах, как Vimeo, Snapchat, и других. Видео внизу – отличный пример того, как превратить инфографику в видео.

Зачем вставлять видео или гиф в инфографику?

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

3. Анимированная инфографика

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

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

Вот пример того, о чем я говорю:

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

Почему вам стоит потратить свое время, энергию и/или деньги на создание анимированной инфографики?

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

Все это не научная фнтастика

Это может звучать слишком технично и казаться чем-то, за гранью ваших возможностей сейчас, но вполне вероятно, что эти виды инфографики станут очень даже обычным явлением через 2-3 года. Мы уже сейчас можем наблюдать сильный прорыв в анимированных инфографиках и гиф-инфографиках, особенно благодаря тому, что популярность гифок продолжает расти. Инфографики становятся одним из наиболее потребляемых и наиболее часто создаваемых типов контента на просторах интернета. Почему? Да потому что мозгу нужно всего 250 миллисекунд чтобы принять и обработать значение символа.

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

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

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

Идея здесь заключается в том, чтобы увидеть в инфографике нечто большее, чем изображение.jpeg. Инфографики могут быть адаптированы к различным средам и использоваться на огромном разнообразии платформ. Предприниматели и маркетологи уже увидели потенциал в этом. А вы?

При арбитраже мобильного трафика можно зарабатывать очень хорошие деньги, ведь конкуренция в этой нише еще не так велика. В чем смысл арбитража мобильного трафика? Откуда берется доход? Что надо делать для заработка этим способом? На эти и другие вопросы постараемся ответить в этой статье. Также разберем поэтапно весь процесс этого способа заработка.

Суть арбитража мобильного трафика

Весь смысл арбитража трафика - это перенаправлять трафик с оплатой за клик на офферы (рекламные предложения) с оплатой за установку. Лучше пояснить на примере:

Выбираем оффер

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

Оффер - это рекламное предложение, например "Установить игру или приложение".Офферы предоставляют партнерки CPI, которые платят за установку android и ios приложений. Платят очень хорошо, в среднем 0,50$ - 1,00$, некоторые предложения достигают цены 10-20$ за установку, но они принимают обычно зарубежный трафик.