SVG: используем CSS для определения внешнего вида
Продолжим серию уроков, посвященных использованию SVG на страницах веб проектов. Одним из его преимуществ является возможность использования CSS для определения внешнего вида.
Свойства для SVG элементов
Определение стилей для SVG элементов происходит также, как и для обычных элементов HTML. Некоторые свойства являются общими, но есть и специфические свойства для объектов SVG/
Например: для обычного элемента HTML можно задавать цвет фона свойствами CSS background-color
или background
. В SVG ситуация несколько отличается: фоновый цвет определяется свойством fill
(заполнение). Также обводка элемента определяется свойством stroke
, а не border
, как в обычном HTML. Полный список свойств приводится здесь.
Если вы знакомы с инструментами редактирования векторной графики (например, редактор Adobe Illustrator), то подобный подход к определению свойств покажется вам логичным.
Реализация определения стилей для SVG элементов
Мы можем использовать следующие методы для определения стилей SVG элементов.
Атрибуты представления
Все свойства SVG могут быть применены непосредственно к представлению элемента в коде HTML. Следующий пример показывает как использовать свойства fill и stroke непосредственно для элемента rect
:
<svg> <rect width="200" height="200" fill="slategrey" stroke="black" stroke-width="3"/> </svg>
В результате получится примерно такой прямоугольник:
Встраиваемые стили
Мы также можем добавлять стили с помощью атрибута style
. В следующем примере также добавляются свойства fill и stroke к элементу rect
, но в этот раз с помощью атрибута style
, и также производится вращение элемента с помощью свойства CSS3 transform
:
<svg> <rect x="203" width="200" height="200" style="fill:slategrey; stroke:black; stroke-width:3; -webkit-transform: rotate(45deg);"/> </svg>
Внутренняя таблица стилей
Объединение стилей для SVG в элементе style
также возможно и не отличается от обычного HTML. Пример демонстрирует как добавить во внутреннюю таблицу стилей правила для SVG элементов в документе .html:
<style type="text/css" media="screen"> #internal rect { fill: slategrey; stroke: black; stroke-width: 3; -webkit-transition: all 350ms; } #internal rect:hover { fill: green; } </style>
Однако, SVG является основанным на XML языком, поэтому при добавлении встроенных стилей в документ .svg
нужно использовать декларацию cdata
:
<style type="text/css" media="screen"> <![CDATA[ #internal rect { fill: slategrey; stroke: black; stroke-width: 3; -webkit-transition: all 350ms; } #internal rect:hover { fill: green; } ]]> </style>
Директива cdata
в данном случае обязательна, так как CSS используется символ >
, который может конфликтовать с обработчиком XML.
Внешняя таблица стилей
Внешняя таблица стилей действует также для элементов SVG в документе .html
.
<link rel="stylesheet" type="text/css" href="style.css">
В документе .svg
необходимо ссылаться на внешнюю таблицу как на xml-stylesheet
:
<?xml-stylesheet type="text/css" href="style.css"?>
Группировка элементов
Элементы SVG могут быть сгруппированы с помощью элемента <g>
. Сгруппированные элементы позволяют использовать общие стили для всех элементов в группе:
<g style="fill:slategrey; stroke:black; stroke-width:3; fill-opacity: 0.5;"> <rect x="203" width="200" height="200"/> <circle cx="120" cy="106" r="100"/> </g>
И круг и прямоугольник будут иметь одинаковый внешний вид:
В следующем уроке мы разберем вопрос использование текста в SVG элементах.
Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: www.hongkiat.com/blog/scalable-vector-graphic-css-styling/
Перевел: Сергей Фастунов
Урок создан: 25 Декабря 2012
Просмотров: 52284
Правила перепечатки
5 последних уроков рубрики "Разное"
-
Как выбрать хороший хостинг для своего сайта?
Выбрать хороший хостинг для своего сайта достаточно сложная задача. Особенно сейчас, когда на рынке услуг хостинга действует несколько сотен игроков с очень привлекательными предложениями. Хорошим вариантом является лидер рейтинга Хостинг Ниндзя — Макхост.
-
Как разместить свой сайт на хостинге? Правильно выбранный хороший хостинг - это будущее Ваших сайтов
Проект готов, Все проверено на локальном сервере OpenServer и можно переносить сайт на хостинг. Вот только какую компанию выбрать? Предлагаю рассмотреть хостинг fornex.com. Отличное место для твоего проекта с перспективами бурного роста.
-
Разработка веб-сайтов с помощью онлайн платформы Wrike
Создание вебсайта - процесс трудоёмкий, требующий слаженного взаимодействия между заказчиком и исполнителем, а также между всеми членами коллектива, вовлечёнными в проект. И в этом очень хорошее подспорье окажет онлайн платформа Wrike.
-
20 ресурсов для прототипирования
Подборка из нескольких десятков ресурсов для создания мокапов и прототипов.
-
Топ 10 бесплатных хостингов
Небольшая подборка провайдеров бесплатного хостинга с подробным описанием.