บันทึกเทคนิคของ zhaoJian

คอร์ส IT พื้นฐาน CSS 027_แอนิเมชันและการเปลี่ยนผ่าน

การเรียนรู้ / พื้นฐาน CSS ~2459 คำ · อ่าน 7 นาที - ครั้งที่อ่าน

แอนิเมชัน

แอนิเมชัน 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>

ผลลัพธ์:

ผลลัพธ์ตัวอย่าง

แชร์:

ความคิดเห็น