ตัวสร้าง CSS Animation
การเขียน @keyframes ด้วยตัวเองนั้นน่าเบื่อ: คุณต้องเลือกเปอร์เซ็นต์ เดาสรรพคุณ รีเฟรช ดูผล แล้วปรับใหม่ ตัวสร้างนี้ให้แอนิเมชันสำเร็จรูปหกแบบ (จางหาย เลื่อนขึ้น เด้ง หมุน เต้นเป็นจังหวะ และสั่น) และให้คุณตั้งชื่อแอนิเมชัน ระยะเวลา easing จำนวนรอบ และทิศทาง ผลลัพธ์เล่นแบบเรียลไทม์ และเมื่อพอใจแล้วคุณสามารถคัดลอกบล็อก @keyframes ที่สร้างขึ้นและคุณสมบัติย่อ animation ได้
วิธีสร้าง CSS animation
-
1
เลือก preset
เลือกหนึ่งในหกแอนิเมชันในตัว: จางหาย เลื่อนขึ้น เด้ง หมุน เต้นเป็นจังหวะ หรือสั่น
-
2
ตั้งชื่อแอนิเมชัน
ตั้งตัวระบุ CSS ที่ถูกต้องให้ keyframes เช่น `cardIn` หรือ `fadeIn` ชื่อเดียวกันนี้ใช้ในคุณสมบัติย่อ `animation` ด้วย
-
3
ตั้งเวลาและการทำซ้ำ
ระยะเวลาเป็นวินาที easing (ease, ease-in, ease-out, ease-in-out, linear หรือ spring) จำนวนรอบ (1, 2, 3 หรือ infinite) และทิศทาง (normal, reverse, alternate หรือ alternate-reverse)
-
4
คัดลอก CSS
กฎ `@keyframes` ที่สร้างขึ้นและรูปแบบย่อ `animation:` พร้อมวางลงในสไตล์ชีตของคุณ
โครงสร้างของแอนิเมชัน
@keyframes slide-in {
0% { transform: translateX(-100%); opacity: 0; }
60% { transform: translateX(10%); opacity: 1; }
100% { transform: translateX(0); opacity: 1; }
}
.card {
animation: slide-in 400ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
แปดคุณสมบัติในรูปแบบย่อ: animation-name duration timing-function delay iteration-count direction fill-mode play-state
ตัวเลือก easing
ตัวสร้างนี้มีฟังก์ชัน easing หกแบบ:
| Easing | cubic-bezier() | ความรู้สึก |
|---|---|---|
| linear | ไม่มี | ความเร็วคงที่ |
| ease-in | 0.42, 0, 1, 1 |
เริ่มช้า จบเร็ว |
| ease-out | 0, 0, 0.58, 1 |
เริ่มเร็ว จบช้า |
| ease-in-out | 0.42, 0, 0.58, 1 |
ช้า-เร็ว-ช้า |
| ease (ค่าเริ่มต้น) | 0.25, 0.1, 0.25, 1 |
ค่าเริ่มต้นที่นุ่มนวล |
| spring | 0.68, -0.55, 0.27, 1.55 |
เลยเป้าหมายแล้วกลับมาตั้งตัว |
เลือกคุณสมบัติที่ถูกต้องในการทำแอนิเมชัน
เบราว์เซอร์ทำแอนิเมชันกับคุณสมบัติใดก็ได้ แต่มีเพียงไม่กี่อย่างที่ลื่นบน GPU โดยไม่กระตุ้น layout หรือการวาดภาพ:
ราคาถูก (composite เท่านั้น): transform, opacity, filter
ราคาแพง (layout/การวาด): width, height, top, left, margin, padding, background-color
แอนิเมชันหกสิบเฟรมต่อวินาทีบน width และ top เป็นไปได้กับองค์ประกอบขนาดเล็ก แต่จะกระตุกบนมือถือหากทำหลายตัวพร้อมกัน สำหรับการเคลื่อนไหวที่ซับซ้อน ให้ใช้ transform: translate(...) แทน top / left เสมอ และใช้ transform: scale(...) แทนการเปลี่ยนความกว้าง/ความสูง
will-change: ใช้เท่าที่จำเป็น
การบอกให้เบราว์เซอร์จัดสรรเลเยอร์ composite ล่วงหน้าอาจช่วยให้ลื่นขึ้น:
.card { will-change: transform; }
แต่กินหน่วยความจำ ใช้ก่อนที่แอนิเมชันจะเริ่ม และลบออกเมื่อเสร็จ การตั้ง will-change: transform ถาวรกับหลายองค์ประกอบอาจเสียหายมากกว่าได้ประโยชน์
ลดการเคลื่อนไหว
ผู้ใช้บางคนไวต่อการเคลื่อนไหวและตั้งค่าตามระบบปฏิบัติการ:
@media (prefers-reduced-motion: reduce) {
.card {
animation: none;
}
}
เคารพการตั้งค่านี้ เสนอการเปลี่ยนสถานะทันทีหรือการจางหายที่ละเอียดมากเป็นทางเลือก
คำถามที่พบบ่อย
CSS สำหรับการเคลื่อนไหวที่เรียบง่าย ประกาศชัดเจน และใช้ครั้งเดียว Web Animations API (element.animate()) สำหรับการควบคุมเวลาด้วย JavaScript keyframes แบบไดนามิก การหยุดชั่วคราว และการควบคุมการเล่น ทั้งคู่ทำงานบนคอมโพซิเตอร์ ไม่มีตัวไหนเร็วกว่าโดยเนื้อแท้
เกือบทุกครั้งเพราะคุณทำแอนิเมชันกับคุณสมบัติที่กระตุ้น layout (width, top, margin) แทน transform เปลี่ยนไปใช้ translate() และ scale() อาการกระตุกมักจะหายไป
ได้ animation: a 1s, b 1s 1s, c 1s 2s; ทำงานสามแอนิเมชันตามลำดับด้วยการหน่วงเวลาที่เหลื่อมกัน ตัวสร้างนี้ให้ผลลัพธ์เป็นแอนิเมชันเดียว ดังนั้นเพิ่มรายการพิเศษในรูปแบบย่อด้วยตัวเอง สำหรับการจัดวางที่ซับซ้อนกว่านั้น ให้ใช้ Web Animations API หรือไลบรารีเช่น GSAP
ทำให้องค์ประกอบเข้าสู่สถานะ from ก่อนแอนิเมชันเริ่ม (ระหว่างหน่วงเวลา) และคงสถานะ to ไว้หลังแอนิเมชันจบ หากไม่มี both องค์ประกอบจะกลับไปใช้สไตล์ก่อนแอนิเมชันเมื่อเสร็จสิ้น ตัวสร้างนี้คงรูปแบบย่อให้สั้นที่สุด ดังนั้นเพิ่ม fill mode ด้วยตัวเองหากต้องการ
เครื่องมือที่เกี่ยวข้อง
ตารางอ้างอิง ASCII
ตาราง ASCII ครบตั้งแต่ 0 ถึง 127 พร้อมค่าเลขฐานสิบ ฐานสิบหก ฐานแปด ฐานสอง และรูปแบบการอ้างอิงอักขระแบบตัวเลขของ HTML รวม NUL, LF และ DEL
อ้างอิงตัวอักษร HTML
รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ
ตารางอ้างอิงแป้นพิมพ์ลัด
ค้นหาแป้นพิมพ์ลัดเริ่มต้นตามเอกสารของ VS Code, Chrome และ Bash ที่ใช้ GNU Readline บน macOS, Windows และ Linux
ตัวลดรูปพีชคณิตบูลีน
ประเมินนิพจน์บูลีนสำหรับทุกชุดอินพุตและดูตารางค่าความจริงที่สมบูรณ์ รองรับตัวแปรสูงสุดห้าตัวและตัวดำเนินการ &, |, !, ^
เครื่องสร้างตัวอักษรสุ่ม
สร้างตัวอักษร A-Z แบบสุ่ม เลือกจำนวน ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก หรือแบบผสม แล้วใช้กับเกม โจทย์ หรือกิจกรรมในห้องเรียน
เครื่องมือตรวจสอบหมายเลขโทรศัพท์
ตรวจสอบโครงสร้างหมายเลขตามประเทศ พร้อมดูภูมิภาค ประเภท และรูปแบบ E.164 ระหว่างประเทศ ในประเทศ และ RFC 3966