เครื่องมือสร้าง Keyframes CSS
กฎ @keyframes กำหนดจุดสำคัญของแอนิเมชัน: องค์ประกอบมีลักษณะอย่างไรตอนเริ่ม กลาง และจบ เครื่องมือนี้เขียนกฎให้การเคลื่อนไหวทั่วไปสี่แบบ: เฟดสไลด์ พัลส์ หมุน และเด้ง ตั้งชื่อแอนิเมชัน กำหนดระยะเวลา และสำหรับแบบสไลด์กับเด้ง กำหนดระยะทางการเคลื่อนที่ในหน่วยพิกเซล ผลลัพธ์คือรูปแบบย่อ animation กับบล็อก @keyframes พร้อมวางลงสไตล์ชีต
วิธีสร้าง keyframes
-
1
เลือกประเภทแอนิเมชัน
เฟดสไลด์ พัลส์ หมุน หรือเด้ง แต่ละพรีเซ็ตมาพร้อมเฟรมที่เตรียมไว้
-
2
ตั้งชื่อแอนิเมชัน
ชื่อแบบ kebab-case เช่น `fade-slide` นำไปใช้ในรูปแบบย่อ `animation` ภายหลัง
-
3
กำหนดระยะเวลา
หน่วยวินาที เช่น 0.6 สำหรับการเปลี่ยนที่เร็ว
-
4
กำหนดระยะทาง (สไลด์และเด้ง)
ระยะทางการเคลื่อนที่ในหน่วยพิกเซล ใช้สำหรับการเคลื่อนที่ในแนวตั้ง
-
5
คัดลอก CSS
รูปแบบย่อกับบล็อก `@keyframes` พร้อมใช้ในสไตล์ชีตของคุณ
สี่พรีเซ็ต
เฟดสไลด์
.animated {
animation: fade-slide 0.6s ease both;
}
@keyframes fade-slide {
from { opacity: 0; transform: translateY(24px); }
to { opacity: 1; transform: translateY(0); }
}
องค์ประกอบค่อยๆ ปรากฏพร้อมเลื่อนขึ้นจากด้านล่าง
พัลส์
@keyframes pulse {
0%, 100% { transform: scale(1); opacity: 1; }
50% { transform: scale(1.05); opacity: .8; }
}
เอฟเฟกต์หายใจเบาๆ เหมาะกับจุดแจ้งเตือนและป้ายสัญลักษณ์
หมุน
@keyframes spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
หมุนครบรอบ เหมาะกับตัวโหลดและไอคอน
เด้ง
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-24px); }
}
องค์ประกอบเด้งขึ้นแล้วกลับลงมา
ทำไมต้อง transform และ opacity?
เบราว์เซอร์ประกอบภาพ transform และ opacity บน GPU โดยไม่ต้องคำนวณเลย์เอาต์หรือวาดใหม่ แอนิเมตสองค่านี้จึงลื่นไหล พรีเซ็ตหลีกเลี่ยงคุณสมบัติที่กระตุ้นการคำนวณเลย์เอาต์โดยเจตนา
รูปแบบย่อ animation
animation: fade-slide 0.6s ease both; อ่านว่า: แอนิเมชันชื่อ fade-slide ยาว 0.6 วินาที ใช้ easing ease ตามค่าเริ่มต้น โหมดเติมเต็ม both ใช้สถานะเริ่มต้นก่อนแอนิเมชันเริ่ม และคงสถานะสุดท้ายหลังจบ เพื่อไม่ให้องค์ประกอบกะพริบก่อนหรือดีดกลับอย่างกระตุกหลังเคลื่อนที่
หลักการตั้งชื่อ
- ใช้ kebab-case ตามหลักการของ CSS
- อธิบายการเคลื่อนไหว ไม่ใช่ตัวองค์ประกอบ:
fade-in-upดีกว่าalert-appear - หลีกเลี่ยงชื่อที่อาจชนกับไลบรารีของบุคคลที่สาม
การรองรับเบราว์เซอร์
@keyframes เป็นฟีเจอร์สากล รองรับทุกเบราว์เซอร์ตั้งแต่ IE 10
คำถามที่พบบ่อย
เฟดสไลด์สำหรับเนื้อหาที่เข้ามาในหน้า เช่น การ์ด แบนเนอร์ หรือไดอะล็อก พัลส์สำหรับจุดที่ต้องการดึงความสนใจ ป้ายสัญลักษณ์ และปุ่มที่ต้องโดดเด่น หมุนสำหรับตัวโหลดและไอคอนแสดงความคืบหน้า เด้งสำหรับการเน้นแบบสนุกๆ เช่น ลูกศรกระตุ้นการคลิก
ระยะทางคือการเคลื่อนที่แนวตั้งในหน่วยพิกเซลสำหรับพรีเซ็ตสไลด์และเด้ง: แอนิเมชันเฟดสไลด์เริ่มต่ำกว่า 24px แล้วเลื่อนขึ้น ส่วนเด้งเด้งขึ้น 24px แล้วกลับมา พรีเซ็ตหมุนไม่ใช้ระยะทาง
ได้ ผลลัพธ์เป็น CSS ล้วนๆ เปลี่ยน ease เป็นคำสำคัญ easing อื่นหรือค่า cubic-bezier(...) แล้วเพิ่มเปอร์เซ็นต์กลางเช่น 25% หรือ 75% ในบล็อก @keyframes เพื่อปรับการเคลื่อนไหวให้ละเอียดขึ้น
เพราะการเรนเดอร์ซ้ำของเฟรมเวิร์กอาจนำคลาสกลับมาใช้และเริ่มแอนิเมชันใหม่ ใช้ animation-fill-mode: both (มีอยู่ในผลลัพธ์แล้ว) เพื่อคงสถานะสุดท้าย หรือแยกตัวกระตุ้นแอนิเมชันออกจากองค์ประกอบที่ถูกเรนเดอร์ซ้ำ
เครื่องมือที่เกี่ยวข้อง
ตารางอ้างอิง 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
เครื่องมือนี้มีให้บริการในภาษาอื่น
- CSS-Keyframes-Generator [DE]
- CSS Keyframes Oluşturucu [TR]
- مولّد Keyframes CSS [AR]
- CSS Keyframes Generator [EN]
- Gerador de Keyframes CSS [PT]
- CSS Keyframes 生成器 [ZH]
- CSS Keyframes 生成 [JA]
- Generator keyframes CSS [PL]
- CSS keyframes-generator [NL]
- Generador de Keyframes CSS [ES]
- CSS Keyframes 생성기 [KO]
- Trình tạo Keyframes CSS [VI]
- CSS keyframes-generator [SV]
- Generator Keyframes CSS [ID]
- Générateur de Keyframes CSS [FR]
- Generatore di Keyframes CSS [IT]
- Генератор CSS-ключевых кадров [RU]