การสร้างแอนิเมชั่นเป็นเรื่องง่ายด้วย CSS และส่วนที่สนุกคือคุณไม่จำเป็นต้องมีเฟรมเวิร์กหรือปลั๊กอินของบุคคลที่สาม
กฎ @keyframes CSS เป็นเครื่องมือที่เราต้องการเพื่อสร้างแอนิเมชั่นเหล่านี้
@keyframes ไวยากรณ์
@keyframes เป็น CSS at-rule At-rules บอกว่า CSS ควรทำงานอย่างไร มีกฎเกณฑ์อื่นๆ อีกมากมาย เช่น @viewport, @supports เป็นต้น
เรากำหนดกฎ @keyframes ด้วยรูปแบบดังต่อไปนี้
@keyframes <name> {
from {
/* start details here */
}
to {
/* end details here */
}
}
เรารับการประกาศภาพเคลื่อนไหวที่ละเอียดยิ่งขึ้นได้โดยการระบุเปอร์เซ็นต์แทนคีย์เวิร์ด
@keyframes <name> {
0% { }
50% { }
100% { }
}
หมายเหตุ :เพื่อที่จะใช้คีย์เฟรมที่สร้างขึ้นใหม่ของเรา เราต้องเพิ่มมันเป็นค่าของ animation-name คุณสมบัติ. นอกจากนี้เรายังสามารถตั้งค่า animation-duration เพื่อระบุระยะเวลาของแอนิเมชั่น @keyframes ที่เราประกาศ
ตัวอย่างลูกบอลวิเศษ
มาทำให้ลูกบอลวิเศษปรากฏขึ้นและหายไปกันเถอะ โปรดอ้างอิง Codepen ที่แนบมาด้วยหากคุณหลงทางเมื่อใดก็ตาม
สิ่งแรกที่เราต้องทำคือกำหนดแอนิเมชั่นของเรา เราจะตั้งชื่อมันว่าลูกบอลวิเศษ:
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
@keyframes magic-ball {
from {
background-color: limegreen;
}
to {
background-color: blueviolet;
}
}
โดยพื้นฐานแล้วเรากำลังเปลี่ยนสีพื้นหลังจากสีเขียวมะนาวเป็นสีน้ำเงินม่วง สามารถใช้กับองค์ประกอบใดก็ได้ แต่เราจะนำไปใช้กับวงกลมต่อไป
.circle {
width: 10rem;
height: 10rem;
border-radius: 50%;
animation-name: magic-ball;
animation-duration: 4s;
}
อย่าลืม เพื่อให้แอนิเมชั่นคีย์เฟรมของเราทำงาน เราจำเป็นต้องเพิ่มมันเป็นค่าของ animation-name คุณสมบัติและกำหนดระยะเวลาของภาพเคลื่อนไหวเป็นวินาทีโดยใช้ animation-duration .
ด้วยแอนิเมชั่นนี้ ลูกบอลของเรากำลังปรากฏขึ้นและหายไป!💥
ตัวอย่างการขายแฟลช
ไปข้างหน้าและสร้างแอนิเมชั่นอื่น คราวนี้เราจะสร้างภาพเคลื่อนไหวและสร้างเอฟเฟกต์เคลื่อนไหว เราจะตั้งชื่อภาพเคลื่อนไหวของเราว่า moveIn และในกรณีนี้เราจะใช้เปอร์เซ็นต์
@keyframes moveIn {
0% {
opacity: 0;
transform: translateY(3rem);
}
100% {
opacity: 1;
transform: translate(0);
}
}
ความทึบนั้นค่อนข้างโปร่งใสของเรา เพื่อให้เราสามารถนำแอนิเมชั่นที่สร้างขึ้นใหม่นี้ไปใช้กับสแควร์ของเราได้
.square {
width: 10rem;
height: 10rem;
background-color: greenyellow;
animation-name: moveIn;
animation-duration: 4s;
}
คุณจะเห็นได้ว่าเราทำผลงานได้ดีเพียงใด!
บทสรุป
คุณสามารถเดินทางต่อไปเกี่ยวกับแอนิเมชั่นได้โดยการอ่านเอกสาร CSS เกี่ยวกับแอนิเมชั่น นอกจากนี้ โปรดทราบว่าเราอ้างอิงวิธีเดียวเท่านั้นในการปรับแต่งแอนิเมชั่นของเราโดยใช้ระยะเวลา ยังมีคุณสมบัติย่อยของแอนิเมชั่นอีกมากมายที่ควรค่าแก่การดู!
สุดท้าย พึงระลึกไว้เสมอว่าคุณสมบัติบางอย่างไม่สามารถเคลื่อนไหวได้ ดูรายการคุณสมบัติภาพเคลื่อนไหวอย่างละเอียดถี่ถ้วน