🇯🇵 日本語 | 🇺🇸 English | 🇪🇸 Español | 🇵🇹 Português | 🇹🇭 ไทย | 🇨🇳 中文

เทมเพลต CSS Slide-In: ขยับซ้าย/ขวาอย่างนุ่มนวลด้วย transform: translateX

📝 การใช้งาน

เทมเพลตนี้ใช้เมื่อคุณต้องการให้สิ่งของเลื่อนจากซ้ายหรือขวา

📘 คำอธิบาย

โค้ดนี้ใช้ transform: translateX เพื่อให้สิ่งของเลื่อนจากซ้ายหรือขวา การแอนิเมชันจะใช้เวลา 4 วินาทีในการเสร็จสมบูรณ์

🔹 โค้ดบางส่วน

<style>
  .slide-in-left {
    transform: translateX(-100%);
    animation: slideInLeft 4s ease-out forwards;
  }

  .slide-in-right {
    transform: translateX(100%);
    animation: slideInRight 4s ease-out forwards;
  }

  @keyframes slideInLeft {
    0% {
      transform: translateX(-100%);
    }
    100% {
      transform: translateX(0);
    }
  }

  @keyframes slideInRight {
    0% {
      transform: translateX(100%);
    }
    100% {
      transform: translateX(0);
    }
  }
</style>
  

💻 โค้ดทั้งหมดที่สามารถทำงานได้

<div class="slide-in-left">
  สิ่งที่เลื่อนจากซ้าย
</div>

<div class="slide-in-right">
  สิ่งที่เลื่อนจากขวา
</div>

<style>
  .slide-in-left {
    transform: translateX(-100%);
    animation: slideInLeft 4s ease-out forwards;
  }

  .slide-in-right {
    transform: translateX(100%);
    animation: slideInRight 4s ease-out forwards;
  }

  @keyframes slideInLeft {
    0% {
      transform: translateX(-100%);
    }
    100% {
      transform: translateX(0);
    }
  }

  @keyframes slideInRight {
    0% {
      transform: translateX(100%);
    }
    100% {
      transform: translateX(0);
    }
  }
</style>
  
คัดลอกแล้ว!

🚀 การใช้งานจริงของแอนิเมชันสไลด์อิน

แอนิเมชันสไลด์อินโดยใช้ transform: translateX เป็นวิธีที่มีประสิทธิภาพในการเพิ่มองค์ประกอบที่เคลื่อนไหวบนเว็บเพจ เทคนิคนี้ไม่ได้เป็นเพียงแค่การตกแต่ง แต่ยังสามารถนำไปใช้กับองค์ประกอบ UI ที่สำคัญซึ่งดึงดูดความสนใจของผู้ใช้ได้

🎯 สถานการณ์การใช้งานที่เหมาะสม

การสไลด์อินจากซ้าย (.slide-in-left) เหมาะสำหรับการแสดงเนื้อหาใหม่หรือการแจ้งเตือนที่สำคัญ ส่วนการสไลด์อินจากขวา (.slide-in-right) มักใช้สำหรับเมนูแถบด้านข้างหรือข้อมูลเสริม การลดระยะเวลาการแอนิเมชันจาก 4s เป็น 2s จะช่วยให้ความรู้สึกของการเคลื่อนไหวรวดเร็วขึ้น

⚡ การเพิ่มประสิทธิภาพ

คุณสมบัติ transform รองรับการเร่งความเร็วด้วย GPU ทำให้แอนิเมชันลื่นไหลมากกว่าการใช้ left หรือ margin การเพิ่ม will-change: transform; จะช่วยบอกเบราว์เซอร์ให้ปรับแต่งการเรนเดอร์ให้เหมาะสม

🔧 ตัวอย่างการปรับแต่ง

ถ้าต้องการเพิ่มการหน่วงเวลาในการแอนิเมชัน สามารถเพิ่ม animation-delay: 0.5s; นอกจากนี้ การใช้ฟังก์ชันอีซิ่งแบบกำหนดเอง เช่น cubic-bezier(0.68, -0.55, 0.265, 1.55) แทน ease-out จะช่วยสร้างการเคลื่อนไหวที่เป็นเอกลักษณ์มากขึ้น

ในดีไซน์ที่ตอบสนองต่อหน้าจอ การปิดการใช้งานแอนิเมชันบนมือถือหรือการลดเวลาการแสดงผลถือเป็นสิ่งสำคัญ ซึ่งสามารถทำได้ด้วย @media query เพื่อช่วยสร้างสมดุลระหว่างการใช้งานและประสิทธิภาพ