เอฟเฟกต์ Bounce Out
เอฟเฟกต์นี้แตกต่างจากทิศทางอื่นๆ โดยใช้ transform: scale() แทน translate องค์ประกอบจะขยายเล็กน้อย แล้วย่อลงจนหายไป ใช้เหมาะกับการ dismiss แบบเน้นจุดศูนย์กลาง
โค้ดตัวอย่างสมบูรณ์
<html>
<head>
<style>
.animated {
background-image: url(/css/images/logo.png);
background-repeat: no-repeat;
background-position: left top;
padding-top: 95px;
margin-bottom: 60px;
-webkit-animation-duration: 10s;
animation-duration: 10s;
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
}
@-webkit-keyframes bounceOut {
0% { -webkit-transform: scale(1); }
25% { -webkit-transform: scale(0.95); }
50% { opacity: 1; -webkit-transform: scale(1.1); }
100% { opacity: 0; -webkit-transform: scale(0.3); }
}
@keyframes bounceOut {
0% { transform: scale(1); }
25% { transform: scale(0.95); }
50% { opacity: 1; transform: scale(1.1); }
100% { opacity: 0; transform: scale(0.3); }
}
.bounceOut {
-webkit-animation-name: bounceOut;
animation-name: bounceOut;
}
</style>
</head>
<body>
<div id="animated-example" class="animated bounceOut"></div>
<button onclick="myFunction()">Reload page</button>
<script>
function myFunction() { location.reload(); }
</script>
</body>
</html>
การวิเคราะห์ Keyframes
| ขั้นตอน | Scale | Opacity | พฤติกรรม |
|---|---|---|---|
| 0% | 1.0 | 1 | ขนาดปกติ |
| 25% | 0.95 | 1 | ย่อเล็กน้อย (เก็บแรง) |
| 50% | 1.1 | 1 | ขยายออก (เด้ง) |
| 100% | 0.3 | 0 | ย่อจนหาย |
การประยุกต์ใช้
เหมาะสำหรับ: ปิด modal, ลบ item ออกจากรายการ, ซ่อน notification โดยใช้ animation-fill-mode: forwards คงสถานะสุดท้ายไว้