KeyframeEffect: свойство pseudoElement
Базовая Широко поддерживается
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с марта 2020 года.
Свойство pseudoElement интерфейса KeyframeEffect — это строка, представляющая анимируемый псевдоэлемент. Оно может быть null для анимаций, не нацеленных на псевдоэлемент. Оно работает как для получения, так и для установки значения, за исключением анимаций и переходов, сгенерированных CSS.
Примечание: Если установлено в формате со старым одиночным двоеточием :before, :after, :first-letter или :first-line, строка преобразуется в её современный формат с двойным двоеточием (::before, ::after, ::first-letter и ::first-line соответственно).
Значение
Строка или null.
Исключения
-
SyntaxErrorDOMException -
Выбрасывается при попытке установить это свойство на элемент, некорректный псевдоэлемент (отсутствующий или неправильно написанный). Свойство остаётся без изменений.
Примеры
<div id="text">Some text</div> <pre id="log"></pre>
#text::after {
content: "👹";
display: inline-block; /* Needed as the `transform` property does not apply to inline elements */
font-size: 2rem;
}
#text::before {
content: "🤠";
display: inline-block;
font-size: 2rem;
}
const log = document.getElementById("log");
const text = document.getElementById("text");
// Create the keyframe and launch the animation
const animation = text.animate([{ transform: "rotate(360deg)" }], {
duration: 3000,
iterations: Infinity,
pseudoElement: "::after",
});
// Get the value of KeyframeEffect.pseudoElement
function logPseudoElement() {
const keyframeEffect = animation.effect;
log.textContent = `Value of pseudoElement animated: ${keyframeEffect.pseudoElement}`;
requestAnimationFrame(logPseudoElement);
}
// Every 6 seconds, switch the pseudo-element animated
function switchPseudoElement() {
const keyframeEffect = animation.effect;
keyframeEffect.pseudoElement =
keyframeEffect.pseudoElement === "::after" ? "::before" : "::after";
setTimeout(switchPseudoElement, 6000);
}
switchPseudoElement();
logPseudoElement();
Спецификации
| Спецификация |
|---|
| Web Animations # dom-keyframeeffect-pseudoelement |
Совместимость браузеров
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
pseudoElement |
84 | 84 | 75 | 71 | 14 | 84 | 79 | 60 | 14 | 14.0 | 84 |
См. также
- API анимаций веб-страниц
-
KeyframeEffectинтерфейс -
KeyframeEffect()конструктор -
targetсвойство
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/KeyframeEffect/pseudoElement