Bootstrap 5: ตารางซ้อนกันถึงแนวนอน


สารบัญ

    แสดงสารบัญ

ตัวอย่างตาราง: เรียงซ้อนถึงแนวนอน

เรามาสร้างระบบกริดพื้นฐานที่เริ่มต้นจากการซ้อนกันบนอุปกรณ์ขนาดเล็กพิเศษ ก่อนที่จะกลายเป็นแนวนอนบนอุปกรณ์ขนาดใหญ่

ตัวอย่างต่อไปนี้แสดงเค้าโครงสองคอลัมน์ "เรียงซ้อนถึงแนวนอน" แบบง่ายๆ ซึ่งหมายความว่าจะส่งผลให้มีการแบ่ง 50%/50% ในทุกหน้าจอ ยกเว้นหน้าจอขนาดเล็กพิเศษ ซึ่งจะซ้อนกันโดยอัตโนมัติ (100%):

col-sm-6
col-sm-6

ตัวอย่าง: เรียงซ้อนเป็นแนวนอน

<div class="container-fluid">
  <div class="row">
    <div class="col-sm-6 bg-primary">
      <p>Lorem ipsum...</p>
    </div>
    <div class="col-sm-6 bg-dark">
      <p>Sed ut perspiciatis...</p>
    </div>
  </div>
</div>

ลองด้วยตัวคุณเอง →

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>

<div class="container-fluid mt-3">
  <h1>Grid Example</h1>
  <p>This example demonstrates a 50%/50% split on small, medium, large, xlarge and xxlarge devices. On extra small devices, it will stack (100% width).</p>      
  <p>Resize the browser window to see the effect.</p> 
  <div class="row">
    <div class="col-sm-6 bg-primary text-white p-3">
      Lorem ipsum...
    </div>
    <div class="col-sm-6 bg-dark text-white p-3">
      Sed ut perspiciatis...
    </div>
  </div>
</div>

</body>
</html>

เคล็ดลับ: ตัวเลขในคลาส .col-sm-* ระบุจำนวนคอลัมน์ที่ div ควรขยาย (จาก 12 คอลัมน์) ดังนั้น .col-sm-1 ขยาย 1 คอลัมน์ .col-sm-4 ขยาย 4 คอลัมน์ .col-sm-6 ครอบคลุม 6 คอลัมน์ เป็นต้น

หมายเหตุ: ตรวจสอบให้แน่ใจว่าผลรวมรวมกันได้ไม่เกิน 12 คอลัมน์ (ไม่จำเป็นว่าคุณต้องใช้ทั้ง 12 คอลัมน์ที่มีอยู่):

เคล็ดลับ: คุณสามารถเปลี่ยนเค้าโครง เต็มความกว้าง ใดๆ ให้เป็นเค้าโครง ความกว้างคงที่ ตอบสนอง ได้ โดยการเปลี่ยน < รหัส class="w3-codespan">.container-fluid คลาสเป็น .container:

ตัวอย่าง: คอนเทนเนอร์แบบตอบสนอง

<div class="container">
  <div class="row">
    <div class="col-sm-6">
      <p>Lorem ipsum...</p>
    </div>
    <div class="col-sm-6">
      <p>Sed ut perspiciatis...</p>
    </div>
  </div>
</div>

ลองด้วยตัวคุณเอง →

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>

<div class="container mt-3">
  <h1>Grid Example</h1>
  <p>This example demonstrates a 50%/50% split on small, medium, large, xlarge and xxlarge devices. On extra small devices, it will stack (100% width).</p>      
  <p>Resize the browser window to see the effect.</p> 
  <div class="row">
    <div class="col-sm-6 bg-primary text-white p-3">
      Lorem ipsum...
    </div>
    <div class="col-sm-6 bg-dark text-white p-3">
      Sed ut perspiciatis...
    </div>
  </div>
</div>

</body>
</html>

คอลัมน์เค้าโครงอัตโนมัติ

ใน Bootstrap 5 มีวิธีง่ายๆ ในการสร้างคอลัมน์ที่มีความกว้างเท่ากันสำหรับอุปกรณ์ทั้งหมด เพียงลบตัวเลขออกจาก .col-size-* และใช้เฉพาะคลาส .col-size ในจำนวน องค์ประกอบ col ที่ระบุ Bootstrap จะรับรู้ว่ามีกี่คอลัมน์ และแต่ละคอลัมน์จะมีความกว้างเท่ากัน คลาส ขนาด (sm, md ฯลฯ) เป็นตัวกำหนด เมื่อ คอลัมน์ควรตอบสนอง:

<!-- Two columns: 50% width on all screens, except for extra small (100% width) -->
<div class="row">
  <div class="col-sm">1 of 2</div>
  <div class="col-sm">2 of 2</div>
</div>
<!-- Four columns: 25% width on all screens, except for extra small (100% width)-->
<div class="row">
  <div class="col-sm">1 of 4</div>
  <div class="col-sm">2 of 4</div>
  <div class="col-sm">3 of 4</div>
  <div class="col-sm">4 of 4</div>
</div>
1 of 2
2 of 2
1 of 4
2 of 4
3 of 4
4 of 4

ลองด้วยตัวคุณเอง →

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>

<div class="container-fluid mt-3">
  <h1>Auto Layout Columns</h1>
  <p>In Bootstrap 5, there is an easy way to create equal width columns: just use the <code>.col-size</code> class on a specified number of col elements. Bootstrap will recognize how many columns there are, and each column will get the same width.</p>
  <p>Two columns: 50% width on all screens, except for extra small (100% width on screens less than <strong>576px</strong> wide)</p>
  <div class="container-fluid">
    <div class="row">
      <div class="col-sm bg-primary text-white p-3">1 of 2</div>
      <div class="col-sm bg-dark text-white p-3">2 of 2</div>
    </div>  
  </div>
  <br>
  
  <p>Four columns: 25% width on all screens, except for extra small (100% width on screens less than <strong>576px</strong> wide)</p>
  <div class="container-fluid">
    <div class="row">
      <div class="col-sm bg-primary text-white p-3">1 of 4</div>
      <div class="col-sm bg-dark text-white p-3">2 of 4</div>
      <div class="col-sm bg-primary text-white p-3">3 of 4</div>
      <div class="col-sm bg-dark text-white p-3">4 of 4</div>
    </div>  
  </div>
</div>

</body>
</html>