Краткий ответ: Нет. CSS не действует на элементы, нарисованные на холсте.
Рисование на холсте похоже на рисование непосредственно на бумаге.Вы используете 2D-контекст, чтобы воздействовать на перо.Хотя вы могли бы найти способ читать CSS и выполнять анимацию (путем перерисовки и перерисовки холста), я думаю, что это будет намного сложнее, чем в любой другой альтернативе.
Если вы настроены на использование CSS, одной из альтернатив является использование SVG
+ CSS
.Элементы в SVG
могут реагировать на ваши CSS
, очень похоже на HTML
элементы.
Если вам абсолютно необходимо использовать холст, вы также можете нарисовать SVG на свой холст. Преобразуйте SVG
в URI данных , затем загрузите этот URI в объект Image
, который затем вы можете putImage
на холсте.Вам нужно будет выяснить, как рисовать каждый раз SVG
обновления, или опросить новую информацию SVG
с интервалом (например, requestAnimationFrame
).