ใน CSS เวอร์ชั่นหลังๆสามารถทำอนิเมชั่นง่ายๆ ได้หลากหลายรูปแบบด้วยคำสั่ง transition เช่น การเพิ่มความกว้าง ความสูง ความโปร่งทึบเป็นต้น
รูปแบบโค้ดที่ใช้งาน
-webkit-transition: all 1s ease-in-out; -moz-transition: all 1s ease-in-out; -o-transition: all 1s ease-in-out; transition: all 1s ease-in-out;
- all คือ ประเภทของอนิเมชั่น สามารถเจาะจงได้ เช่น height width opacity เป็นต้น เพื่อลดการประมวลผลของ css ลง
- 1s คือ เวลาของการอนิเมชั่น สามารถใช้ 0.3s แบบนี้ได้
- ease-in-out คือ รูปแบบของอนิเมชั่น เช่น จัวหวะแรกช้า-ตอนท้ายเร็ว หรือ จังหวะแรกเร็ว-ตอนท้ายช้าเป็นต้น เป็นต้น คำสั่งมีดังนี้ ease, linear, ease-in ,ease-out, ease-in-out
ตัวอย่างการเขียนโค้ด
div { width: 100px; height: 100px; background-color: red; -webkit-transition: width 2s; /* Safari */ transition: width 2s; } div:hover { width: 300px; }
ตามตัวอย่าง คือ เมื่อนำเมาส์วางที่ div ความกว้างก็จะยึดออก จาก 100px เป็น 300 px ด้วยความเร็ว 2s