Как работать с SVG текстом? Текст выводится внутри парного элемента text с указанием координат его отрисовки. Управление внешний видом текста доступно через классы, где можно применять обычные CSS -свойства.

Варианты использования SVG на сайтах. Часть #3

SVG текст

Как работать с SVG текстом? Текст выводится внутри парного элемента text с указанием координат его отрисовки. Управление внешний видом текста доступно через классы, где можно применять обычные CSS-свойства.

<svg class="border" width="250" height="100" viewBox="0 0 250 100" xmlns="http://www.w3.org/2000/svg">
    <text class="text" x='20' y='60'>Вывод SVG текста</text>
</svg>

.border {
    border:2px dashed gray;
}
.text {
    fill: peru; /* цвет текста */
    font-size: 25px;/* размер текста */
}


Варианты использования SVG на сайтах.

Пример SVG текста с поворотом

<svg class="border" width="250" height="100" viewBox="0 0 250 100" xmlns="http://www.w3.org/2000/svg">     
<text class="text-rotate" x='20' y='60' transform="rotate(10 90,20)">Вывод SVG текста</text>
</svg>


Варианты использования SVG на сайтах.

Вывод нескольких строк с текстом

Элемент text может содержать несколько подэлементов tspan, каждый из которых может определять свои координаты позиционирования.

<svg class="border" width="250" height="100" viewBox="0 0 250 100" xmlns="http://www.w3.org/2000/svg">
    <text class="multi-text" x='20' y='30'>Вывод SVG текста:
        <tspan x="20" y="60">Первая строка</tspan>
        <tspan x="20" y="80">Вторая строка</tspan>
    </text>
</svg>

.multi-text {
    fill: peru; /* цвет текста */
    font-size: 20px; /* размер текста */
}


Варианты использования SVG на сайтах.

Вывод текста-ссылки

<svg class="border" width="250" height="100" viewBox="0 0 250 100" xmlns:xlink="http://www.w3.org/1999/xlink">
    <a xlink:href="http://domain.ru/" target="_blank">
        <text class="text-link" x="25" y="60">SVG текст-ссылка</text>
    </a>
</svg>

.text-link {
    fill: peru; /* цвет текста */
    font-size: 25px; /* размер текста */
}


Варианты использования SVG на сайтах.

Звездный рейтинг на SVG

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

<svg class="border" width="350" height="110" viewBox="0 0 350 110" xmlns="http://www.w3.org/2000/svg">
    <def>
        <polygon id="elem" points="50,5 20,99 95,39 5,39 80,99"/>
    </def>
    <use x="15" y="3" class="star" xlink:href="#elem"></use>
    <use x="125" y="3" class="star" xlink:href="#elem"></use>
    <use x="235" y="3" class="star" xlink:href="#elem"></use>
</svg>

.star {
    fill:pink;
    stroke: gray; /* цвет прямой линии */
    stroke-width: 0; /* ширина прямой линии */
}


Варианты использования SVG на сайтах.

Альтернативы symbol и g

Элемент symbol используется для создания SVG спрайтов и позволяет иметь свою систему координат. Элемент g группирует элементы по ID, по цвету заливки. Если элемент def заменить на symbol или g, тогда прятать его придется через display="none".