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 элементах.
Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/V8AWsrJIQrE/lessons.php
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2024-03-13 » Стратегии SEO на 2024 год
- 2024-03-13 » Как использовать анимацию с помощью JavaScript-библиотеки GSAP
- 2024-03-13 » Использование GSAP 3 для веб-анимации
- 2024-03-13 » Cогласование топографической съёмки с эксплуатирующими организациями
- 2024-02-19 » Теряются лиды? Как настроить сквозную аналитику
- 2024-02-17 » Мерч и IT: на что обратить внимание в 2024 году
- 2024-02-16 » Копируем с RSync: основные примеры синхронизации файлов
- 2024-02-15 » Лучшие noCode AI платформы для создания диалоговых ботов
- 2024-02-14 » Факторы ранжирования Google 2024 — исследование Semrush
- 2024-02-12 » Перенос сайта на другой хостинг
- 2024-02-05 » В России сформирован реестр хостинг-провайдеров
- 2024-02-04 » Использование SSH для подключения к удаленному серверу Ubuntu
- 2024-02-03 » Подключаемся к серверу за NAT при помощи туннеля SSH. Простая и понятная инструкция
- 2024-02-02 » Настройка CI/CD для Gitlab-репозитория: схемы и гайд по шагам
- 2024-02-01 » GitLab CI Pipeline. Запуск сценария через SSH на удаленном сервере
- 2024-01-29 » Introduction to GitLab’s CI/CD for Continuous Deployments
- 2024-01-26 » Настройка GitLab CI/CD
- 2024-01-25 » Установка shell gitlab runner
- 2024-01-25 » Установка и регистрация gitlab-runner в docker контейнере
- 2024-01-25 » Переменные Gitlab-Ci
- 2024-01-25 » Настройка CI/CD в GitLab для синхронизации проекта с веб-серверами
- 2024-01-25 » Копирование файлов scp
- 2024-01-21 » Бездепозитные бонусы от казино: обзор условий и правил использования
- 2024-01-18 » Современная обработка ошибок в PHP
- 2024-01-18 » Пример шаблона проектирования MVC в PHP
- 2024-01-18 » Мифический человеко-DevOps
- 2023-12-28 » Google подвел итоги 2023 года в поиске
- 2023-12-28 » 5 ошибок отдела продаж, из-за которых вы теряете клиентов
- 2023-12-28 » Американский суд признал монополию Google на рынках дистрибуции Android-приложений
- 2023-12-28 » Хостинг-провайдер GoDaddy перестанет оказывать услуги пользователям из России
Всегда храни верность своему начальнику - следующий, может быть еще хуже... |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.