Векторные картинки в html: Добавление векторной графики в веб-документ — Изучение веб-разработки

Содержание

Как вставить картинку в HTML: Подробная инструкция

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

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

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

Для добавления изображений на страницу вы также можете воспользоваться свойством background-image каскадных таблиц стилей (CSS), с которым познакомитесь в дальнейшем.

Как вставить картинку в HTML: ВЫБОР ИЗОБРАЖЕНИИ ДЛЯ САЙТА

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

Изображение несравнимо быстрее задает тон сайту, чем текстовое описание. Если у вас нет собственных фотографий для размещения на сайте, вы можете обратиться к стоковым фотохостингам, предлагающим миллионы изображений, доступных для использования за некоторое вознаграждение или вовсе бесплатно (чуть ниже вы найдете список таких ресурсов). Помните о том, что все изображения — это объекты, охраняемые законом об авторском праве, потому простое использование графики, скопированной с других сайтов, может повлечь серьезные проблемы.

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

ИЗОБРАЖЕНИЯ ДОЛЖНЫ:

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

Как вставить картинку в HTML: РАЗМЕЩЕНИЕ ИЗОБРАЖЕНИЙ НА САЙТЕ

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

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

При создании крупного сайта вы также можете добавить в папку images несколько подпапок. Например, такие изображения, как логотипы и кнопки, можно хранить в подпапке interface, фотографии товаров — в подпапке products, а изображения, связанные с новостями сайта, — в подпапке news.

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

Как вставить картинку в HTML

<img src=”images/quokka.jpg” alt=”Семейка квокки” title=”Квокка или короткохвостый кенгуру – единственный представитель рода Setonix семейства кенгуровых.”/>

<img>

Для добавления изображения на страницу воспользуйтесь элементом <img>. Он является пустым (то есть без закрывающего тега). Для него должны быть указаны следующие два атрибута.

src

Данный атрибут сообщает браузеру расположение нужного изображения. Как правило, его значением будет относительный URL- адрес, указывающий на изображение, хранящееся в директориях вашего собственного сайта. (В данном примере все изображения расположены в подпапке images)

alt

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

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

Если вы используете изображение лишь как декорацию для улучшения оформления сайта (и оно не несет никакой смысловой нагрузки, как, например, графический разделитель — горизонтальная линия), используйте атрибут alt с пустым значением (между кавычек не должно быть никакого текста).

title

С элементом <img> вы также можете использовать атрибут title для сообщения дополнительной информации об изображении. Большинство браузеров отобразят содержимое этого атрибута в качестве всплывающей подсказки при наведении указателя мыши на изображение.

Как вставить картинку в HTML: ВЫСОТА И ШИРИНА ИЗОБРАЖЕНИИ

<img scr=”images/quokka.jpg” alt=”Семейка квокки” width=”600” height=”450”/>

Зачастую вы будете видеть элемент <img> с еще двумя атрибутами, определяющими его размер:

height

Данный атрибут устанавливает высоту изображения в пикселах.

width

Данный атрибут устанавливает ширину изображения в пикселах.

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

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

Как вставить картинку в HTML: РАЗМЕЩЕНИЕ ИЗОБРАЖЕНИЙ В КОДЕ

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

ПЕРЕД АБЗАЦЕМ

Абзац начинается с новой строки после изображения.

В НАЧАЛЕ АБЗАЦА

Первая строка текста выравнивается относительно нижнего края изображения.

В СЕРЕДИНЕ АБЗАЦА

Изображение помещается в текст абзаца, в котором говорится о нем.

<img src="images/bird.gif" alt="Птица"/>
<р>В мире насчитывается более 10 тысяч видов птиц, обитающих в различных экосистемах от Арктики до Антарктики. Многие виды ежегодно совершают перелеты на длинные расстояния, гораздо большее количество совершают более короткие спонтанные путешествия.</р> 
<hr />
<p><img src="images/ bird.gif " alt="Птица"/> В мире насчитывается более 10 тысяч видов птиц, обитающих в различных экосистемах от Арктики до Антарктики. Многие виды ежегодно совершают перелеты на длинные расстояния, гораздо большее количество совершают более короткие спонтанные путешествия.</р>
<hr />
<р>В мире насчитывается более 10 тысяч видов птиц, обитающих в различных экосистемах от Арктики до Антарктики. <img src="images/bird.gif" alt="Птица"/>Многие виды ежегодно совершают перелеты на длинные расстояния, гораздо большее количество совершают более короткие спонтанные путешествия.</р> 

То, как вы размещаете изображение в коде, крайне важно, поскольку браузеры отображают НТМL-элементы двумя следующими способами. Блочные элементы выводятся с новой строки. Примерами блочных элементов могут служить <hr> и <р>.

Если после элемента <img> следует блочный элемент (такой, как новый абзац), то он будет перенесен на новую строку после изображения, как показано в первом примере на этой странице.

Встроенные элементы помещаются внутри блочного элемента и не начинают новую строку. Примерами таких элементов могут служить <b>, <em> и <img>.

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

УСТАРЕВШИЙ ПРИЕМ: ВЫРАВНИВАНИЕ ИЗОБРАЖЕНИЙ ПО ГОРИЗОНТАЛИ

<p><img src="images/ bird.gif " alt="Птица" align=”left”/> В мире насчитывается более 10 тысяч птиц, обитающих в различных экосистемах от Арктики до Антарктики.</p>
<hr />
<p><img src="images/ bird.gif " alt="Птица" align=”right”/> В мире насчитывается более 10 тысяч птиц, обитающих в различных экосистемах от Арктики до Антарктики. </p>

align

Атрибут align раньше использовался для обозначения того, как остальные части страницы должны обтекать изображение. Этот атрибут был исключен из стандарта HTML5 — при создании новых сайтов для выравнивания изображений нужно использовать каскадные таблицы стилей CSS.

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

left

Это значение выравнивает изображение по левому краю (позволяя тексту обтекать его справа).

right

Это значение выравнивает изображение по правому краю (позволяя тексту обтекать его слева).

Благодаря такому выравниванию, страница выглядит гораздо опрятней, чем когда изображение просто вставлено на одну строку с текстом (как это было продемонстрировано в предыдущем примере). При присваивании атрибуту align значения left изображение помещается у левого края страницы, а текст обтекает его вокруг. При присваивании атрибуту align значения right изображение помещается у правого края страницы, а текст обтекает его вокруг. Если текст вплотную примыкает к краю изображения, это ухудшает его читаемость.

УСТАРЕВШИЙ ПРИЕМ: ВЫРАВНИВАНИЕ ИЗОБРАЖЕНИИ ПО ВЕРТИКАЛИ

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

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

top

Это значение выравнивает первую строку текста с верхней границей изображения.

middle

Это значение устанавливает выравнивание первой строки текста относительно середины изображения.

bottom

Это значение выравнивает первую строку текста относительно нижней границы изображения.

<p><img src="images/ bird.gif " alt="Птица" align=”top”/>В мире насчитывается более 10 тысяч видов птиц, обитающих в различных экосистемах от Арктики до Антарктики. Многие виды ежегодно совершают перелеты на длинные расстояния, гораздо большее количество совершают более короткие спонтанные путешествия.</р>
<hr />
<p><img src="images/ bird.gif " alt="Птица" align=”middle”/>В мире насчитывается более 10 тысяч видов птиц, обитающих в различных экосистемах от Арктики до Антарктики. Многие виды ежегодно совершают перелеты на длинные расстояния, гораздо большее количество совершают более короткие спонтанные путешествия.</р>
<hr />
<p><img src="images/ bird.gif " alt="Птица" align=”bottom”/>В мире насчитывается более 10 тысяч видов птиц, обитающих в различных экосистемах от Арктики до Антарктики. Многие виды ежегодно совершают перелеты на длинные расстояния, гораздо большее количество совершают более короткие спонтанные путешествия. </р> 

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

Значение middle помещает первую строку текста на один уровень с вертикальным центром изображения, остальные строки текста выводятся под изображением.

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

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

Как вставить картинку в HTML: ТРИ ПРАВИЛА СОЗДАНИЯ ИЗОБРАЖЕНИИ

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

  1. СОХРАНЯЙТЕ ИЗОБРАЖЕНИЯ В ПРАВИЛЬНОМ ФОРМАТЕ.

В основном на сайтах используется графика трех файловых форматов: JPEG, GIF и PNG. При использовании других форматов изображение может потерять резкость, замедлить скорость загрузки страницы или вовсе не отобразиться на компьютере посетителя.

  1. СОХРАНЯЙТЕ ИЗОБРАЖЕНИЯ С ПРАВИЛЬНЫМИ ЗНАЧЕНИЯМИ ШИРИНЫ И ВЫСОТЫ.

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

  1. ИСПОЛЬЗУЙТЕ ПРАВИЛЬНОЕ РАЗРЕШЕНИЕ.

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

ИНСТРУМЕНТЫ ДЛЯ РЕДАКТИРОВАНИЯ И СОХРАНЕНИЯ ИЗОБРАЖЕНИИ

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

Среди профессиональных веб-дизайнеров самым популярным инструментом является программа Adobe Photoshop. (На самом деле профессионалы зачастую используют его для разработки графики всего сайта.) Полная версия программы Photoshop весьма дорогостоящая, однако также доступна более дешевая версия этой программы — Photoshop Elements, которая придется по вкусу большинству новичков.

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

Используйте формат GIF или PNG при сохранении изображений с малым количеством оттенков или имеющих большие однотонные области

Как вставить картинку в HTML: РАЗМЕРЫ ИЗОБРАЖЕНИЯ

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

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

  1. УМЕНЬШЕНИЕ РАЗМЕРА ИЗОБРАЖЕНИЯ

Вы можете уменьшить размер исходного изображения для создания его миниатюры.

Пример. Если ширина вашего изображения 600 пикселов, а высота — 300, то вы можете уменьшить размер изображения на 50%.

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

  1. УВЕЛИЧЕНИЕ РАЗМЕРА ИЗОБРАЖЕНИЯ

Значительное увеличение размера фотографии без потери качества рисунка невозможно.

Пример. Увеличение размеров изображения 100 пикселов в ширину и 50 в высоту на 300% приведет к ухудшению его качества.

Результат. Изображение станет размытым или пикселизированным.

  1. КАДРИРОВАНИЕ ИЗОБРАЖЕНИЯ

Не все изображения можно кадрировать без потери важной графической информации.

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

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

Как вставить картинку в HTML: РАЗРЕШЕНИЕ ИЗОБРАЖЕНИЯ

Изображение, сохраняемое для публикации во Всемирной паутине, должно иметь разрешение 72 ppi. Чем выше разрешение изображения, тем больше размер файла.

Форматы JPEG, GIF и PNG принадлежат к семейству форматов растровых изображений. Такие изображения состоят из большого числа миниатюрных квадратов. Разрешением изображения называется количество этих квадратов, умещающихся на площади в 1 квадратный дюйм. Изображения, выводимые на экран компьютера, состоят из маленьких квадратиков, называемых пикселями. Для демонстрации того, как изображение составляется из пикселов, мы увеличили фрагмент изображения. На большинстве настольных компьютеров браузеры отображают графику с разрешением 72 ppi. Изображения в печатных изданиях, таких как книги и журналы, состоят из крохотных кружочков, называемых точками. Такие изображения обычно печатаются с разрешением 300 точек на дюйм, dpi.

Пример изображения:

Формат JPEG 300 ppi = 1526 кбайт

Формат JPEG 72 ppi = 368 кбайт

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

ВЕКТОРНАЯ ГРАФИКА

Векторные изображения отличаются от растровых и не зависят от разрешения. Создавать векторные изображения можно в таких программах, как Adobe lllustrator.

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

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

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

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

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

Как вставить картинку в HTML: АНИМИРОВАННЫЙ GIF

Анимированный GIF-файл позволяет отображать последовательность из нескольких изображений и поэтому может быть использован для создания простой анимации.

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

С помощью некоторых программ для обработки изображений, таких как Adobe Photoshop, можно создавать GIF-анимацию. Во Всемирной паутине находится множество руководств, посвященных этому вопросу. Там же есть и сайты, позволяющие загрузить отдельные изображения для создания из них анимации.

ВАЖНО ПОМНИТЬ.

Каждый кадр увеличивает размер изображения, отчего скорость его загрузки становится медленнее (а пользователи Интернета не любят долго ждать).

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

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

Как вставить картинку в HTML: ПРОЗРАЧНОСТЬ

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

ПРОЗРАЧНЫЙ GIF

Если прозрачная область создаваемого вами изображения имеет четкие края и степень ее прозрачности равна 100%, то есть она не должна быть полупрозрачной), то вы можете сохранить такое изображение в формате GIF (установив флажок Прозрачность (Transparency).

PNG

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

Формат PNG не полностью поддерживается устаревшими браузерами (особенно это заметно в Internet Explorer 6). Существует сценарий на языке JavaScript, позволяющий обойти эту проблему.

ИСПОЛЬЗОВАНИЕ ИЗОБРАЖЕНИЙ ВО ВСЕМИРНОЙ ПАУТИНЕ

ПРОВЕРКА РАЗМЕРА ИЗОБРАЖЕНИЙ

При обновлении контента сайта иногда бывает нужно узнать размеры имеющегося на нем изображения, прежде чем заменить его новым. Это можно сделать, щелкнув правой кнопкой мыши и выбрав соответствующий пункт в контекстном меню. (Пользователи компьютеров Мае могут щелкнуть мышью по изображению при нажатой клавише Ctrl.)

ЗАГРУЗКА ИЗОБРАЖЕНИЙ НА КОМПЬЮТЕР

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

HTML5: ИЛЛЮСТРАЦИИ И ПОДПИСИ

<figure>
<img src=”images/otters.jpg” alt=”Фотография двух выдр, держащихся за лапки”/>
<br />
<figcaption>Во время сна выдры держат друг друга за лапки, чтобы их не разнесло течением.</figcaption>
</figure>

<figure>

Зачастую изображения сопровождаются подписями.

В спецификации HTMLS появился новый элемент <figure>, объединяющий изображение и подпись к нему, таким образом текст и рисунок оказываются связанными друг с другом.

В один элемент <figure> можно включить несколько изображений, в случае если для них используется одна подпись.

<figcaption>

Элемент <figcaption> был включен в язык HTMLS, чтобы позволить веб-дизайнерам добавлять подписи к публикуемым изображениям.

До введения этих двух элементов связать изображение <img> с текстом было невозможно.

Устаревшие версии браузеров не распознают элементы языка HTMLS и просто отображают их содержимое на странице.

В приведенном примере логотип — это изображение в формате GIF (оно содержит однотонные участки), а фотографии сохранены в формате JPEG. Основная фотография помещена в элемент <figure> языка HTML5 и у нее есть подпись.

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

Что такое 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) в HTML

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

Зачем вообще использовать SVG?

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

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

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

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

В большинстве случаев все браузеры поддерживают базовую спецификацию SVG. Исключение составляет <= IE8 и  <= Android Browser 4.3, и для этих ситуаций вам необходимо предоставить какой-либо запасной вариант. Для получения более подробной информации о поддержке браузеров здесь приведена подробная таблица, включающая мобильные браузеры.

Хотя с помощью различных средств обнаружения, таких как Modernizer, вы можете легко установить резервное изображение для неподдерживаемых ситуаций, также существует несколько обходных путей, таких как RaphaelJS или D3. Это отличные библиотеки JavaScript для интерактивной визуализации данных, которые должны упростить вашу работу с векторной графикой в ​​веб-браузерах.

Использование в HTML

Существует несколько реализаций SVG:

  1. как атрибут src
    
  1. в качестве фонового изображения
  .my-svg {фоновое изображение: url('example.svg')}  
  1. встроенный
  
 // содержание
  
  1. с использованием тега
   svg">  
  1. внутри
    1. с использованием тега
        
       запасной вариант для браузеров, не поддерживающих SVG
        

      Первые две являются базовыми и очень распространенными реализациями SVG, но проблема как с , так и с background-image заключается в том, что у вас есть ненужные HTTP-запросы, и вы не можете контролировать узлы SVG с помощью CSS. или скрипты.

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

      Элемент управления CSS

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

      См. Pen SVG_basics_1 от Effectiva (@effectiva) на CodePen.

      Или мы можем добавить несколько ключевых кадров в наш стиль для анимации объектов…

      См. Pen SVG_basics_2 от Effectiva (@effectiva) на CodePen.

       

      Обратите внимание, что элементы SVG имеют специальный набор свойств CSS. Например, это не цвет фона, это заливка. Полный список свойств стилей вы можете найти здесь.

      Когда не использовать SVG?

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

      Инструменты SVG

      Хотя его можно открыть и редактировать в любом текстовом редакторе, наиболее популярными являются графические редакторы, такие как Illustrator, Sketch и Inkscape. Некоторые из них бесплатны, некоторые более «профессиональные», но все они предоставляют вам инструменты, необходимые для создания и редактирования векторной графики, среди удобного интерфейса. Кроме того, стоит отметить, что существует несколько оптимизаторов SVG, которые часто могут уменьшить размер файла и упростить работу с ним.

      Резюме

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

      Окно браузера с простым html-кодом веб-страницы, векторное изображение

      Окно браузера с простым html-кодом веб-страницы, векторное изображение

      1. лицензионные векторы

      2. Векторы браузера

      ЛицензияПодробнее

      Стандарт
      Вы можете использовать вектор в личных и коммерческих целях.

      Расширенный
      Вы можете использовать вектор на предметах для перепродажи и печати по требованию.

      Тип лицензии определяет, как вы можете использовать этот образ.

      Станд. Расшир.
      Печатный / редакционный
      Графический дизайн
      Веб-дизайн
      Социальные сети
      Редактировать и изменять
      Многопользовательский
      Предметы перепродажи
      Печать по запросу
      Способы покупкиСравнить

      Плата за изображение
      $ 14,99

      Кредиты
      $ 1,00

      Подписка
      $ 0,69

      Оплатить стандартные лицензии можно тремя способами. Цены $ $ .

      Оплата с помощью Цена изображения

      Плата за изображение

      $ 14,99

      Одноразовый платеж

      Предоплаченные кредиты

      $ 1

      Загружайте изображения по запросу (1 кредит = 1 доллар США). Минимальная покупка 30р.

      План подписки

      От 69 центов

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

      Способы покупкиСравнить

      Плата за изображение
      $ 39,99

      Кредиты
      $ 30,00

      Существует два способа оплаты расширенных лицензий. Цены $ $ .

      Оплата с помощью Стоимость изображения

      Плата за изображение

      $ 39,99

      Оплата разовая, регистрация не требуется.

      This entry was posted in Популярное