Spec-Zone.ru › Web APIs

KeyframeEffect: свойство pseudoElement

Базовая Широко поддерживается

Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с марта 2020 года.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Свойство pseudoElement интерфейса KeyframeEffect — это строка, представляющая анимируемый псевдоэлемент. Оно может быть null для анимаций, не нацеленных на псевдоэлемент. Оно работает как для получения, так и для установки значения, за исключением анимаций и переходов, сгенерированных CSS.

Примечание: Если установлено в формате со старым одиночным двоеточием :before, :after, :first-letter или :first-line, строка преобразуется в её современный формат с двойным двоеточием (::before, ::after, ::first-letter и ::first-line соответственно).

Значение

Строка или null.

Исключения

SyntaxError DOMException

Выбрасывается при попытке установить это свойство на элемент, некорректный псевдоэлемент (отсутствующий или неправильно написанный). Свойство остаётся без изменений.

Примеры

<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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API