@AlTerminator

Как в файле svg заставить работать события?

Hover не работает.

HTML
<object type="image/svg+xml" data="PageUpDown"></object>


CSS
header object[data="PageUpDown"]
{
 content: url("images/PageUpDown.svg");
}


SVG
<svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">

<defs>
 <style>
  svg:hover path{
   fill: yellow;
  }
 </style>
</defs>

 <path fill-rule="evenodd" clip-rule="evenodd" d="M54 20.882V33.618L32 22.618L10 33.618V20.882L32 9.88196L54 20.882ZM52 22.118L32 12.118L12 22.118V30.382L32 20.382L52 30.382V22.118Z" fill="red"/>
 <path fill-rule="evenodd" clip-rule="evenodd" d="M54 42.882V55.618L32 44.618L10 55.618V42.882L32 31.882L54 42.882ZM52 44.118L32 34.118L12 44.118V52.382L32 42.382L52 52.382V44.118Z" fill="gold"/>
</svg>
  • Вопрос задан
  • 747 просмотров
Решения вопроса 1
@MrColdCoffee
web
<object type="image/svg+xml" data="demo.svg"></object>
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@seregadushka
minsk
1. :hover -- это псевдокласс, а не событие.
2. поискал, результат такой, что спецы не советуют помещать cтили в SVG. Есть ограничения.
Я попробовал -- -- ошибка именно на :hover
defs -- тоже не для стилей.
Ввиду сказанного, прекрасно работают стили внешние.
Наследование, :hover , CSS-переменные , animation. @keyframes, ....
Зачем себя ограничивать.

Пишешь svg class="name" .... Внешний .name {...}.
Во внешних стилях все работает -- SVGmy
1884 -- -- стиль для всех картинок одинаковый , 13 строк.
Можно смотреть , какие SVG подчиняются стилям, какие не хотят. Но частично анимируются все.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
04 мая 2024, в 06:10
4000 руб./за проект
04 мая 2024, в 05:49
10000 руб./за проект
04 мая 2024, в 03:57
10000 руб./за проект