Bootstrap 5 การใช้งาน Carousel

Carousel ใน Bootstrap 5 เป็นส่วนประกอบที่ใช้ในการแสดงภาพหรือเนื้อหาเป็นสไลด์ โดยสามารถเลื่อนไปมาได้อัตโนมัติหรือด้วยการควบคุมของผู้ใช้ Carousel มักใช้ในการแสดงภาพหรือเนื้อหาที่ต้องการให้ผู้ใช้เห็นเป็นช่วงๆ ในเว็บไซต์หรือแอปพลิเคชัน

คุณสมบัติของ Carousel

  • เลื่อนไปมาได้อัตโนมัติ: Carousel สามารถเลื่อนเนื้อหาอัตโนมัติในช่วงเวลาที่กำหนด
  • ควบคุมด้วยปุ่ม: มีปุ่มให้ผู้ใช้เลื่อนดูภาพไปข้างหน้าและถอยหลังได้
  • รองรับเนื้อหาหลากหลายประเภท: Carousel สามารถใช้แสดงภาพ, ข้อความ หรือองค์ประกอบ HTML อื่นๆ ได้
  • รองรับการตอบสนองต่อหน้าจอ (Responsive): Carousel จะปรับขนาดตามหน้าจอของอุปกรณ์ต่างๆ เช่น มือถือ, แท็บเล็ต, หรือเดสก์ท็อป

การสร้าง Carousel เบื้องต้น

การสร้าง Carousel ด้วย Bootstrap 5 เริ่มจากโครงสร้าง HTML ง่ายๆ ดังนี้

<div id="carouselExample" class="carousel slide" data-bs-ride="carousel">
  <div class="carousel-indicators">
    <button type="button" data-bs-target="#carouselExample" data-bs-slide-to="0" class="active" aria-current="true" aria-label="Slide 1"></button>
    <button type="button" data-bs-target="#carouselExample" data-bs-slide-to="1" aria-label="Slide 2"></button>
    <button type="button" data-bs-target="#carouselExample" data-bs-slide-to="2" aria-label="Slide 3"></button>
  </div>
  <div class="carousel-inner">
    <div class="carousel-item active">
      <img src="https://via.placeholder.com/800x400" class="d-block w-100" alt="Slide 1">
    </div>
    <div class="carousel-item">
      <img src="https://via.placeholder.com/800x400" class="d-block w-100" alt="Slide 2">
    </div>
    <div class="carousel-item">
      <img src="https://via.placeholder.com/800x400" class="d-block w-100" alt="Slide 3">
    </div>
  </div>
  <button class="carousel-control-prev" type="button" data-bs-target="#carouselExample" data-bs-slide="prev">
    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
    <span class="visually-hidden">Previous</span>
  </button>
  <button class="carousel-control-next" type="button" data-bs-target="#carouselExample" data-bs-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="visually-hidden">Next</span>
  </button>
</div>

ผลลัพธ์

องค์ประกอบหลักของ Carousel

  • carousel-indicators: เป็นจุดที่ใช้แสดงสถานะของสไลด์ สามารถคลิกเพื่อเปลี่ยนสไลด์ได้
  • carousel-inner: ใช้เก็บเนื้อหาหรือภาพของสไลด์ที่จะแสดงใน Carousel
  • carousel-item: แต่ละอันคือหนึ่งสไลด์ ภายในมีเนื้อหาหรือภาพที่ต้องการแสดง
  • carousel-control-prev และ carousel-control-next: ปุ่มที่ใช้ควบคุมการเลื่อนสไลด์ไปข้างหน้าหรือถอยหลัง

การประยุกต์ใช้งาน Carousel

Carousel แสดงข้อความและภาพ

เราสามารถเพิ่มข้อความหรือเนื้อหาภายในแต่ละสไลด์ได้ เช่นการแสดงคำบรรยายภาพ หรือเนื้อหาอื่นๆ

<div id="carouselExampleCaptions" class="carousel slide" data-bs-ride="carousel">
  <div class="carousel-indicators">
    <button type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide-to="0" class="active" aria-current="true" aria-label="Slide 1"></button>
    <button type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide-to="1" aria-label="Slide 2"></button>
    <button type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide-to="2" aria-label="Slide 3"></button>
  </div>
  <div class="carousel-inner">
    <div class="carousel-item active">
      <img src="https://via.placeholder.com/800x400" class="d-block w-100" alt="Slide 1">
      <div class="carousel-caption d-none d-md-block">
        <h5>Slide 1</h5>
        <p>คำบรรยายภาพสำหรับสไลด์ที่ 1</p>
      </div>
    </div>
    <div class="carousel-item">
      <img src="https://via.placeholder.com/800x400" class="d-block w-100" alt="Slide 2">
      <div class="carousel-caption d-none d-md-block">
        <h5>Slide 2</h5>
        <p>คำบรรยายภาพสำหรับสไลด์ที่ 2</p>
      </div>
    </div>
    <div class="carousel-item">
      <img src="https://via.placeholder.com/800x400" class="d-block w-100" alt="Slide 3">
      <div class="carousel-caption d-none d-md-block">
        <h5>Slide 3</h5>
        <p>คำบรรยายภาพสำหรับสไลด์ที่ 3</p>
      </div>
    </div>
  </div>
  <button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide="prev">
    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
    <span class="visually-hidden">Previous</span>
  </button>
  <button class="carousel-control-next" type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="visually-hidden">Next</span>
  </button>
</div>

Carousel เลื่อนอัตโนมัติแบบปรับเวลาการเลื่อน

เราสามารถกำหนดให้ Carousel เลื่อนอัตโนมัติทุก ๆ เวลาที่กำหนดได้ โดยใช้ data-bs-interval เช่น หากต้องการให้เลื่อนทุก ๆ 3 วินาที (3000 มิลลิวินาที)

<div id="carouselExampleInterval" class="carousel slide" data-bs-ride="carousel">
  <div class="carousel-inner">
    <div class="carousel-item active" data-bs-interval="3000">
      <img src="https://via.placeholder.com/800x400" class="d-block w-100" alt="...">
    </div>
    <div class="carousel-item" data-bs-interval="3000">
      <img src="https://via.placeholder.com/800x400" class="d-block w-100" alt="...">
    </div>
    <div class="carousel-item" data-bs-interval="3000">
      <img src="https://via.placeholder.com/800x400" class="d-block w-100" alt="...">
    </div>
  </div>
</div>

Carousel แบบไม่เลื่อนอัตโนมัติ

หากต้องการให้ Carousel หยุดการเลื่อนอัตโนมัติ สามารถกำหนดค่า data-bs-ride="false"

<div id="carouselExampleManual" class="carousel slide" data-bs-ride="false">
  <div class="carousel-inner">
    <div class="carousel-item active">
      <img src="https://via.placeholder.com/800x400" class="d-block w-100" alt="...">
    </div>
    <div class="carousel-item">
      <img src="https://via.placeholder.com/800x400" class="d-block w-100" alt="...">
    </div>
    <div class="carousel-item">
      <img src="https://via.placeholder.com/800x400" class="d-block w-100" alt="...">
    </div>
  </div>
</div>

สรุป

Carousel ใน Bootstrap 5 เป็นส่วนประกอบที่มีประโยชน์และสามารถปรับแต่งได้หลากหลาย เราสามารถนำมาใช้งานได้หลากหลายรูปแบบ ทั้งการแสดงภาพ, ข้อความ หรือเนื้อหาที่มีรูปแบบเฉพาะตัว นอกจากนี้ยังสามารถปรับการเลื่อนและการแสดงผลให้เหมาะสมกับอุปกรณ์ได้อย่างง่ายดาย

แชร์เรื่องนี้