เอฟเฟกต์ Bounce In Left
องค์ประกอบสไลด์เข้ามาจากซ้าย เด้งเกินจุด แล้วกลับมาตรงตำแหน่ง คู่คู่กับ Bounce In Right
โค้ดตัวอย่างสมบูรณ์
<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 bounceInLeft {
0% { opacity: 0; -webkit-transform: translateX(-2000px); }
60% { opacity: 1; -webkit-transform: translateX(30px); }
80% { -webkit-transform: translateX(-10px); }
100% { -webkit-transform: translateX(0); }
}
@keyframes bounceInLeft {
0% { opacity: 0; transform: translateX(-2000px); }
60% { opacity: 1; transform: translateX(30px); }
80% { transform: translateX(-10px); }
100% { transform: translateX(0); }
}
.bounceInLeft {
-webkit-animation-name: bounceInLeft;
animation-name: bounceInLeft;
}
</style>
</head>
<body>
<div id="animated-example" class="animated bounceInLeft"></div>
<button onclick="myFunction()">Reload page</button>
<script>
function myFunction() { location.reload(); }
</script>
</body>
</html>
การวิเคราะห์
| ขั้นตอน | Transform X | Opacity | พฤติกรรม |
|---|---|---|---|
| 0% | -2000px (ซ้ายนอกจอ) | 0 | เริ่มจากซ้าย |
| 60% | +30px (ขวาเกิน) | 1 | สไลด์เข้ามาเกินจุด |
| 80% | -10px (ซ้ายเล็กน้อย) | 1 | เด้งกลับ |
| 100% | 0 | 1 | หยุดตรงจุด |
การใช้งานคู่กับ Bounce In Right
.panel-left { animation: bounceInLeft 0.6s ease-out; }
.panel-right { animation: bounceInRight 0.6s ease-out; }
ใช้สร้าง UI ที่ panel ทั้งสองข้างบินเข้ามาพร้อมกัน