0Pricing
HTML Academy · บทเรียน

table, tr, td และ th

สร้างตารางพื้นฐานด้วยแถว เซลล์ข้อมูล และเซลล์หัวตาราง

table, tr, td และ th เป็นบทเรียน HTML Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน HTML Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส HTML Academy มีบทเรียนทั้งหมด 4 บทเรียน

ตาราง HTML

ตาราง ใช้แสดงข้อมูลในแถวและคอลัมน์ ควรใช้ตารางกับข้อมูลแบบตารางเท่านั้น — ไม่ใช่สำหรับจัดวางหน้า

<table>
  <tr>
    <th>Name</th>
    <th>Score</th>
  </tr>
  <tr>
    <td>Alice</td>
    <td>95</td>
  </tr>
  <tr>
    <td>Bob</td>
    <td>87</td>
  </tr>
</table>

องค์ประกอบ table, tr และ td

องค์ประกอบหลักของตาราง:

  • <table> — ตัวครอบตาราง
  • <tr> — แถวตาราง
  • <td> — เซลล์ข้อมูลของตาราง
  • <th> — เซลล์ส่วนหัวของตาราง (ตัวหนาและจัดกึ่งกลางโดยค่าเริ่มต้น)

th เทียบกับ td

ใช้ <th> สำหรับเซลล์ส่วนหัว เนื่องจากมีความหมายเชิงโครงสร้าง:

<table>
  <tr>
    <th>Language</th>    <!-- header: bold + centered by default -->
    <th>Year Created</th>
    <th>Type</th>
  </tr>
  <tr>
    <td>HTML</td>         <!-- data cell -->
    <td>1991</td>
    <td>Markup</td>
  </tr>
</table>

โครงสร้างตารางพื้นฐาน

ตารางที่เรียบง่ายแต่สมบูรณ์:

<table>
  <tr>
    <th>Product</th>
    <th>Price</th>
    <th>Stock</th>
  </tr>
  <tr>
    <td>Widget Pro</td>
    <td>$49.99</td>
    <td>In Stock</td>
  </tr>
  <tr>
    <td>Widget Lite</td>
    <td>$19.99</td>
    <td>Out of Stock</td>
  </tr>
</table>

เส้นขอบตารางด้วย CSS

โดยค่าเริ่มต้น เบราว์เซอร์จะแสดงตารางโดยไม่มีเส้นขอบ ให้เพิ่มเส้นขอบด้วย CSS:

table {
  border-collapse: collapse;  /* merge double borders into one */
  width: 100%;
}

th, td {
  border: 1px solid #ddd;
  padding: 0.75rem 1rem;
  text-align: left;
}

th {
  background-color: #f5f5f5;
  font-weight: 600;
}

ตารางไม่ได้มีไว้สำหรับจัดวางหน้า

ในช่วงทศวรรษ 1990 มีการใช้ตารางเพื่อจัดวางหน้า วิธีนี้ล้าสมัยและก่อให้เกิดปัญหา:

  • โปรแกรมอ่านหน้าจอจะตีความตารางเป็นข้อมูล ตารางที่ใช้จัดวางหน้าจึงทำให้ผู้ใช้สับสน
  • ตารางปรับตัวได้ไม่ดีบนหน้าจอขนาดเล็ก
  • CSS Grid และ Flexbox รองรับความต้องการด้านการจัดวางทั้งหมดแทนแล้ว
  • ใช้ <table> เฉพาะกับข้อมูลแบบตารางจริงเท่านั้น

ตารางที่ปรับตามหน้าจอ

ตารางจะล้นบนหน้าจอขนาดเล็ก ให้ครอบตารางเพื่อรองรับการเลื่อนในแนวนอน:

<div class="table-wrapper" style="overflow-x: auto;">
  <table>
    <!-- table content -->
  </table>
</div>

/* Or use CSS: */
.table-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

เซลล์ว่าง

ควรจัดการเซลล์ว่างอย่างตั้งใจ:

<tr>
  <td>Alice</td>
  <td>95</td>
  <td></td>          <!-- Empty: renders blank -->
</tr>

/* CSS to style empty cells */
td:empty::before {
  content: '—';
  color: #999;
}

ดูตัวอย่าง thead และ tbody

ตารางควรใช้ <thead> และ <tbody> เพื่อแยกแถวส่วนหัวออกจากแถวข้อมูล ซึ่งจะกล่าวถึงในบทเรียนถัดไป:

<table>
  <thead>
    <tr><th>Name</th><th>Score</th></tr>
  </thead>
  <tbody>
    <tr><td>Alice</td><td>95</td></tr>
  </tbody>
</table>

การจัดรูปแบบคอลัมน์ด้วย col และ colgroup

ใช้ <colgroup> และ <col> เพื่อใช้รูปแบบกับทั้งคอลัมน์:

<table>
  <colgroup>
    <col style="width: 200px; background: #f9f9f9;">
    <col style="width: 100px;">
    <col style="width: 100px;">
  </colgroup>
  <tr>
    <th>Name</th>
    <th>Score</th>
    <th>Grade</th>
  </tr>
</table>

การสลับสีแถวด้วย CSS

สลับสีแถวเพื่อให้อ่านได้ง่ายขึ้น:

tbody tr:nth-child(odd) {
  background-color: #f9f9f9;
}

tbody tr:hover {
  background-color: #e3f2fd;
}

/* nth-child(even) for even rows instead */

ตรวจสอบความเข้าใจ

td และ th ในตารางแตกต่างกันอย่างไร

ทบทวน: table tr td th

พื้นฐานตาราง:

  • <table> — ตัวครอบตาราง
  • <tr> — แถวตาราง
  • <td> — เซลล์ข้อมูล
  • <th> — เซลล์ส่วนหัว (มีความหมายเชิงโครงสร้างและเป็นตัวหนาโดยค่าเริ่มต้น)
  • ใช้ border-collapse: collapse เพื่อให้เส้นขอบดูเรียบร้อย
  • ตารางมีไว้สำหรับข้อมูลเท่านั้น — ไม่ใช่สำหรับจัดวางหน้า

คำถามที่พบบ่อย

บทเรียน “table, tr, td และ th” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “table, tr, td และ th” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส HTML Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส HTML Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “table, tr, td และ th”

สร้างตารางพื้นฐานด้วยแถว เซลล์ข้อมูล และเซลล์หัวตาราง คุณปฏิบัติ HTML Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน HTML Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน HTML Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “table, tr, td และ th” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน HTML Academy นี้ได้ไหม

ได้ บทเรียน HTML Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. table, tr, td และ th
  2. โครงสร้าง thead, tbody และ tfoot
  3. colspan และ rowspan สำหรับการครอบคลุมเซลล์
  4. การเข้าถึงตาราง: scope, summary และ caption
← กลับไปที่ HTML Academy