52 lines
1.3 KiB
HTML
52 lines
1.3 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<style>
|
|
.stage {
|
|
margin: 20px;
|
|
width: 300px; height: 250px;
|
|
border: 2px solid black;
|
|
transform-style: preserve-3d;
|
|
}
|
|
|
|
.slide {
|
|
width: 100%;
|
|
height: 100%;
|
|
animation-duration: 20ms;
|
|
animation-fill-mode: forwards;
|
|
-webkit-backface-visibility: hidden;
|
|
background-color: blue;
|
|
}
|
|
|
|
.animating {
|
|
animation-name: slide;
|
|
}
|
|
|
|
@keyframes slide {
|
|
0% { transform-origin: 50% 50%; transform: translateX(400px); }
|
|
50% { transform-origin: 50% 50%; transform: translateX(0px); }
|
|
100% { transform-origin: 50% 50%; transform: translateX(0px); }
|
|
}
|
|
</style>
|
|
<script>
|
|
if (window.testRunner)
|
|
testRunner.waitUntilDone();
|
|
|
|
function animationEnded()
|
|
{
|
|
if (window.testRunner)
|
|
testRunner.notifyDone();
|
|
}
|
|
|
|
window.addEventListener('load', () => {
|
|
document.getElementById('target').classList.add('animating');
|
|
}, false);
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<div class="stage">
|
|
<div id="target" class="slide" onanimationend="animationEnded()"></div>
|
|
</div>
|
|
</body>
|
|
</html>
|