SVG маска с кликабельным полигоном

Пара примеров, показывающих как сделать элемент svg полезным, например для создания интерактивной маски.

Рассмотрим следующий HTML код:

Здесь SVG настроен как «отзывчивый» объект, имеющий логические размеры 1000×1000пикс. Не важно какого размера обрамляющий контейнер, svg будет растянут и спроецирован на него, создавая своеобразную маску для родительского слоя.

Этого эффекта помогают добиться следующие компоновка и стили:

Элемент polygon уже реагирует на событие onclick, вызывается функция MYFUNC(), но пользователь визуально не видит, что элемент активен и с ним можно взаимодействовать.

Давайте добавим затемнение области при наведении мыши.

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

Написать комментарий

Мало букафф? Читайте есчо !

Вставка переменной в инлайновое изображение в LESS

Август 29, 2019 г.

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

Читать

Как заставить SVG картинку не держать пропорции

Октябрь 31, 2021 г.

У SVG изображения есть свойство preserveAspectRatio, которое управляет поддержанием пропорции. Этот атрибут так же используется в некоторых других контейнерах, например <image> и <symbol>. По умолчанию, значение его равно xMidYMid meet, ...

Читать

 

Комментарии к «SVG маска с кликабельным полигоном»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: