Pseudo-elements in the Web Animations API
Publikováno: 14.5.2020
To use the Web Animations API (e.g. el.animate()) you need a reference to a DOM element to target. So, how do you use it on pseudo-elements, which don’t really offer a direct reference? Dan Wilson covers a (newish?) part of the API itself:
const logo = document.getElementById('logo');
logo.animate({ opacity: [0, 1] }, {
duration: 100,
pseudoElement: '::after'
});I noticed in Dan’s article that ::marker is supported. I was just playing with that recently while doing our List Style … Read article “Pseudo-elements in the Web Animations API”
The post Pseudo-elements in the Web Animations API appeared first on CSS-Tricks.
To use the Web Animations API (e.g. el.animate()) you need a reference to a DOM element to target. So, how do you use it on pseudo-elements, which don’t really offer a direct reference? Dan Wilson covers a (newish?) part of the API itself:
const logo = document.getElementById('logo');
logo.animate({ opacity: [0, 1] }, {
duration: 100,
pseudoElement: '::after'
});I noticed in Dan’s article that ::marker is supported. I was just playing with that recently while doing our List Style Recipes page. I figured I’d give it a spin by testing the WAAPI and @keyframes on both a ::marker and and ::after element:
At first, I confused myself because it seemed like the WAAPI wasn’t working on ::after, but Dan reminded me that when using a transform, the element can’t be display: inline. Instead, I made it inline-block and it worked fine. However, I did uncover that @keyframes don’t seem to work on ::marker elements in Firefox — hopefully they’ll fix that (and we get Chrome and Safari support for ::marker ASAP).
Direct Link to Article — Permalink
The post Pseudo-elements in the Web Animations API appeared first on CSS-Tricks.