คอร์ส IT พื้นฐาน CSS 027_แอนิเมชันและการเปลี่ยนผ่าน
แอนิเมชัน
แอนิเมชัน CSS เป็นเอฟเฟกต์ที่สามารถใช้เพื่อเปลี่ยนค่าคุณสมบัติของอิลิเมนต์อย่างค่อยเป็นค่อยไป แอนิเมชันสามารถนำไปใช้กับคุณสมบัติ CSS ใดก็ได้ รวมถึงความกว้าง ความสูง สี พื้นหลัง เส้นขอบ เป็นต้น
ไวยากรณ์ของคุณสมบัติ animation มีดังนี้:
- name: กำหนดชื่อของแอนิเมชัน
- duration: กำหนดระยะเวลาของแอนิเมชัน
- timing-function: กำหนดเส้นโค้งความเร็วของแอนิเมชัน
- delay: กำหนดการหน่วงเวลาของแอนิเมชัน
- iteration-count: กำหนดจำนวนครั้งในการเล่นแอนิเมชัน
- direction: กำหนดทิศทางการเล่นแอนิเมชัน
- fill-mode: กำหนดสไตล์ของอิลิเมนต์หลังจากแอนิเมชันเสร็จสิ้นหรือเมื่อแอนิเมชันถูกหยุดชั่วคราวหรือหยุด
ตัวอย่าง:
@keyframes animationName{ from { transform: rotate(0deg); } to { transform: rotate(360deg); } } .example1{ width: 100px; height: 100px; background-color: #3498db; animation: animationName 2s linear infinite; /* ใช้แอนิเมชัน ระยะเวลา 2 วินาที วนซ้ำไม่จำกัด การเปลี่ยนผ่านแบบเส้นตรง */ } <div class="example1"></div>ผลลัพธ์:

@keyframes rotateกำหนดแอนิเมชัน keyframe ชื่อrotateจากสถานะเริ่มต้น (หมุน 0 องศา) ไปจนถึงสถานะสิ้นสุด (หมุน 360 องศา)- อิลิเมนต์
.animated-boxใช้แอนิเมชันนี้ โดยกำหนดชื่อแอนิเมชัน ระยะเวลา รูปแบบการวนซ้ำ เป็นต้น ผ่านคุณสมบัติanimation
แอนิเมชัน CSS และการเปลี่ยนผ่าน CSS เป็นเอฟเฟกต์ที่สามารถเปลี่ยนค่าคุณสมบัติของอิลิเมนต์อย่างค่อยเป็นค่อยไป ความแตกต่างหลักคือ:
- แอนิเมชันสามารถเล่นซ้ำได้ แต่การเปลี่ยนผ่านเล่นได้เพียงครั้งเดียว
- แอนิเมชันสามารถกำหนดทิศทางการเล่นได้ แต่การเปลี่ยนผ่านไม่ได้
- แอนิเมชันสามารถกำหนดสไตล์ของอิลิเมนต์หลังจากเสร็จสิ้นหรือเมื่อหยุดชั่วคราว/หยุดได้ แต่การเปลี่ยนผ่านไม่ได้
การเปลี่ยนผ่าน
การเปลี่ยนผ่าน CSS เป็นเอฟเฟกต์ที่สามารถเปลี่ยนค่าคุณสมบัติของอิลิเมนต์อย่างค่อยเป็นค่อยไป การเปลี่ยนผ่านสามารถนำไปใช้กับคุณสมบัติ CSS ใดก็ได้ รวมถึงความกว้าง ความสูง สี พื้นหลัง เส้นขอบ เป็นต้น เอฟเฟกต์การเปลี่ยนผ่านอาจแตกต่างกันไปตามเบราว์เซอร์และอุปกรณ์ ประสิทธิภาพอาจแตกต่างกันไปตามความซับซ้อนของการเปลี่ยนผ่าน
ตัวอย่าง:
.example1{ width: 200px; height: 200px; background-color: #3498db; transition: background-color 0.5s ease; /* กำหนดคุณสมบัติและเวลาการเปลี่ยนผ่าน */ } .example1:hover{ background-color: #e74c3c; } <div class="example1"></div>ผลลัพธ์:
