เทมเพลต CSS Loading Spinner: วงกลมและแถบหมุนแบบเคลื่อนไหว
📝 การใช้งาน
เทมเพลตนี้ใช้เพื่อสร้างสปินเนอร์ขณะโหลด เช่นการหมุนของวงกลมหรือแถบหมุน
GIF สาธิต

📘 คำอธิบาย
โค้ดนี้ใช้ `@keyframes` เพื่อสร้างวงกลมหมุน (`spinner-circle`) และแถบที่เลื่อน (`spinner-bar`) คุณสามารถปรับความเร็วและสีของการแอนิเมชันตามต้องการ
🔹 โค้ดบางส่วน
<style>
/* วงกลมหมุน */
.spinner-circle {
border: 4px solid #f3f3f3;
border-top: 4px solid #3498db;
border-radius: 50%;
width: 50px;
height: 50px;
animation: spin 2s linear infinite;
}
/* แถบหมุน */
.spinner-bar {
width: 50px;
height: 5px;
background-color: #3498db;
animation: bar 1s infinite alternate;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
@keyframes bar {
0% { width: 0; }
50% { width: 50px; }
100% { width: 0; }
}
</style>
💻 โค้ดทั้งหมดที่สามารถทำงานได้
<div class="spinner-circle"></div>
<div class="spinner-bar"></div>
<style>
/* วงกลมหมุน */
.spinner-circle {
border: 4px solid #f3f3f3;
border-top: 4px solid #3498db;
border-radius: 50%;
width: 50px;
height: 50px;
animation: spin 2s linear infinite;
}
/* แถบหมุน */
.spinner-bar {
width: 50px;
height: 5px;
background-color: #3498db;
animation: bar 1s infinite alternate;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
@keyframes bar {
0% { width: 0; }
50% { width: 50px; }
100% { width: 0; }
}
</style>
🌀 เทคนิคการใช้งานสปินเนอร์โหลดอย่างมีประสิทธิภาพ
สปินเนอร์โหลดที่สร้างด้วยแอนิเมชัน CSS เป็นองค์ประกอบ UI ที่สำคัญ ช่วยให้ผู้ใช้รู้สึกสะดวกสบายในช่วงเวลารอ การปรับแต่งที่เหมาะสมจะช่วยสร้างเอฟเฟกต์ที่สอดคล้องกับภาพลักษณ์แบรนด์ของคุณ
🎨 การปรับแต่งดีไซน์
จากแอนิเมชันหมุนพื้นฐาน การเปลี่ยน border-top-color เป็นสีไล่ระดับจะให้ความรู้สึกทันสมัย นอกจากนี้ การเพิ่ม animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1) จะทำให้การเคลื่อนไหวดูเป็นธรรมชาติมากขึ้น สีสามารถเปลี่ยนได้ไม่เพียงแค่ #3498db (สีน้ำเงิน) แต่ยังสามารถปรับให้เข้ากับธีมของเว็บไซต์ได้อีกด้วย
⏱️ การปรับแต่งประสิทธิภาพ
เพื่อรักษาความลื่นไหลของแอนิเมชัน แนะนำให้เพิ่มคุณสมบัติ will-change: transform เมื่อแสดงสปินเนอร์หลายตัว การตั้งค่าความล่าช้าแอนิเมชัน (animation-delay) ให้ไม่พร้อมกันจะสร้างเอฟเฟกต์ที่น่าสนใจและดูดี
📱 การรองรับการแสดงผลบนอุปกรณ์เคลื่อนที่
บนอุปกรณ์เคลื่อนที่ ควรลดขนาดสปินเนอร์ (width: 30px) และลดระยะเวลาแอนิเมชัน (animation-duration: 1s) เพื่อให้แสดงผลได้กะทัดรัดและมีประสิทธิภาพ สำหรับธีมพื้นหลังมืด ควรปรับสี border-color ให้สว่างขึ้น
สปินเนอร์โหลดเป็นองค์ประกอบสำคัญที่ช่วยปรับปรุงประสบการณ์ผู้ใช้ แต่ควรระวังไม่ให้ซับซ้อนเกินไปหรือแสดงนานเกินไป ควรออกแบบให้เรียบง่าย ชัดเจน และเข้ากับบรรยากาศโดยรวมของเว็บไซต์