คราวที่แล้วเราได้สอนการทำ css animation แบบเบื้องต้นกันมาแล้ว แต่คราวก่อนเป็นการทำ animation แบบของชิ้นเดียวเคลื่อนไหวไปมาเท่านั้น วันนี้เรามาลองทำแบบเอาหลายๆรูปมาใส่ animation เพื่อประกอบกันเป็นรูป animation กัน โดยจะมาทำเป็นรูปไดโนเสาร์จ้าวเก่ากับห้วงอวกาศแบบนี้ พร้อมแล้ว….ลุย!!
มาเริ่มกันเลย!!
ก่อนอื่นนำ div ที่มีเป็นไดโนเสาร์ มาซ้อนกับ div ของรูปโลกและจัดตำแหน่งให้เหมาะสมแบบนี้
See the Pen
LYVXjzB by PacharaC (@b2dpcr)
on CodePen.
จากนั้นสร้าง @keyframe แล้วใส่ animation spin ตามโค้ดต่อไปนี้
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
และเพิ่ม css property ในส่วนของโลกว่า
animation-name: spin; animation-duration: 10s; animation-timing-function: linear; animation-iteration-count: infinite;
และไดโนเสาร์
animation-name: spin; animation-duration: 1s; animation-timing-function: linear; animation-iteration-count: infinite;
จะเห็นว่าproperty ที่ใส่นั้นใกล้เคียงกันต่างกันแค่เวลา แต่ความแตกต่างเพียงเท่านี้ก็ได้ผลลัพธ์ที่แตกต่างกันแล้ว
ต่อไปนำโลกมาใส่ในชั้นของอวกาศจัดตำแหน่งให้เรียบร้อย
See the Pen
OJVajqy by PacharaC (@b2dpcr)
on CodePen.
และใส่animation spin เช่นเดียวกันแต่ใส่ระยะเวลาเป็น 100 วินาที
See the Pen
ExjOvRE by PacharaC (@b2dpcr)
on CodePen.
ต่อไปก็ถึงคราวพระอาทิตย์แล้ว แต่รอบนี้เราจะให้ animation เป็นแบบย่อขยายขนาดแทนให้เพิ่ม @keyframe scale ลงไป
@keyframes scale{ 0% { transform: scale(1) ; } 50% { transform: scale(0.8) ; } 100% { transform: scale(1) ; } }
มาถึงตอนนี้ก็เสร็จสมบูรณ์แล้วกับไดโนเสาร์ในห้วงอวกาศ จะเห็นว่าในทางการเขียนโค้ดนั้นไม่ยากเลย ใช้คำสั่งเพียงเล็กน้อยเท่านั้นเอง สิ่งสำคัญในการทำ animation นั้นขึ้นอยู่กับความคิดสร้างสรรค์ของเราและการลองผิดลองถูกไปเรื่อยๆจนได้ผลลัพธ์ที่เราชื่นชอบครับ ทุกคนก็ลองทำ animation ที่ชื่นชอบในแบบของตัวเองกันดูนะครับ
Extra!!
ลองนำพระอาทิตย์มาใส่ spin เร็วๆก็ดูดีไปอีกแบบนะ * – *