Веб-версияОткрыть в Telegram

ПостHTML в Canvas

28 мая 2026
З
Записки фронтендера
HTML в Canvas В Chrome 148 версии добавили возможность рисовать Canvas при помощи обыкновенного HTML. Для того, чтобы это работало, необходимо <canvas> элементу передать специальный атрибут layoutsubtree и положить внутрь него любой HTML код. Для перерисовки всех состояний элемента, скажем :hover эффекта или выделения текста, используются следующие методы: 1) 2D API — ctx.drawElementImage(element) 2) WebGL — gl.texElementImage2D(element) 3) WebGPU — copyElementImageToTexture(...) Для того, чтобы элемент всегда совпадал с фактическим расположением отрисованной картинки (на видео показал разницу), его сдвигают при помощи transform, полученным из одного из перечисленных выше методов. Всё это оборачивается в обработчик paint, который реагирует на изменения внутренних DOM элементов и вызывает переданный колбек. <canvas id="canvas" layoutsubtree> <input id="input-element" type="text"> </canvas> const ctx = document.getElementById('canvas').getContext('2d'); const inputElement = document.getElementById('input-element'); const canvas = document.getElementById('canvas'); canvas.addEventListener('paint', () => { ctx.reset(); const transform = ctx.drawElementImage(inputElement, 50, 50); inputElement.style.transform = transform.toString(); }); Также при помощи метода canvas.requestPaint(), мы можем при надобности принудительно вызвать событие paint. ⚙️ Таблицу на caniuse ещё не завезли
3 · 451 ·

Рядом в ленте

ЗЗаписки фронтендераПрокачали подчёркивание текста В Chrome 148 версии свойству text-decoration-skip-ink добавили значение all. Если ещё не сталкивались, то оно управляет тем, будеЗЗаписки фронтендераВидео
это сообщение
ЗЗаписки фронтендераТоп донатов месяца Месяц подошёл к концу, поэтому хочу поблагодарить всех, кто поддержал канал в этот раз! Boosty: ❗️Подписки временно решил приостановить ТелегЗЗаписки фронтендераВидео
ЗЗаписки фронтендераЗаписки фронтендера@fe_notes · канал · Технологии
422подписчиков201постов в индексе
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем