зеркало из https://github.com/mozilla/gecko-dev.git
36 строки
1.0 KiB
HTML
36 строки
1.0 KiB
HTML
|
<!DOCTYPE html>
|
||
|
<html class="reftest-wait">
|
||
|
<title>mask-position animation after finish</title>
|
||
|
<style>
|
||
|
@keyframes changeMaskPosition {
|
||
|
from { mask-position: 0% 0%; }
|
||
|
to { mask-position: center center; }
|
||
|
}
|
||
|
#test {
|
||
|
height: 100px;
|
||
|
width: 100px;
|
||
|
mask-repeat: no-repeat;
|
||
|
mask-position: 0% 0%;
|
||
|
mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="25" height="25"><rect x="0" y="0" width="25" height="25" fill="blue"/></svg>');
|
||
|
animation: changeMaskPosition 0.01s forwards;
|
||
|
}
|
||
|
|
||
|
#inner {
|
||
|
height: 100px;
|
||
|
width: 100px;
|
||
|
background-color: blue;
|
||
|
box-sizing: border-box;
|
||
|
/* Apply will-change property to force paint mask on mask layer */
|
||
|
border: 1px solid transparent;
|
||
|
will-change: transform;
|
||
|
}
|
||
|
</style>
|
||
|
<div id="test"><div id="inner"></div></div>
|
||
|
<script>
|
||
|
document.getElementById("test").addEventListener("animationend", () => {
|
||
|
requestAnimationFrame(() => {
|
||
|
document.documentElement.classList.remove("reftest-wait");
|
||
|
})
|
||
|
});
|
||
|
</script>
|