Тег <marquee> - является старым давно устаревшим HTML тегом, который никогда не был частью стандарта HTML, но до недавнего времени поддерживался браузерами. Но с одним из последних обновлений Хром этот тег перестал поддерживаться. Доказательством этого является то, что стал Хром выдавать на этот тег:
:host {
display: inline-block;
overflow: hidden;
text-align: initial;
white-space: nowrap;
}
Это является симптомом, что Хром начал тег <marquee> выпиливать на уровне движка.
<marquee> в Chrome теперь оборачивается во внутренний Web Component / Shadow DOM.
- :host — это селектор Shadow DOM
- раньше <marquee> был “магическим тегом”
- теперь его поведение заменяют на заглушку-компонент
Раньше <marquee>:
- сам двигал контент
- имел внутренний JS/движок
Теперь:
- он просто inline-block с overflow:hidden
- анимации больше нет вообще
То есть: тег визуально есть, но логики больше нет.
Скорее всего это связано с обновлениями Chromium (примерно 2025–2026), где:
- активно чистят legacy features
- переводят старые элементы в compatibility mode / fallback
Если нужна бегущая строка, то это можно реализовать с помощью CSS, HTML и JS.
Один из близких вариантов на CSS, пример:
HTML
<div class="marquee"> <span>Бегущий текст</span> </div>
CSS:
<style>
.marquee {
overflow: hidden;
white-space: nowrap;
position: relative;
}
.marquee span {
display: inline-block;
padding-left: 100%;
animation: marquee linear infinite;
}
@keyframes marquee {
from { transform: translateX(0); }
to { transform: translateX(-100%); }
}
.marquee span {
animation-duration: 10s; /* как scrollamount */
}
</style>
P.S. Происхождение тега <marquee>: https://thehistoryoftheweb.com/blink-marquis-tag/ 30 лет тегу, который никогда не был в спецификации HTML))