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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- table, tr, td และ th
- โครงสร้าง thead, tbody และ tfoot
- colspan และ rowspan สำหรับการครอบคลุมเซลล์
- การเข้าถึงตาราง: scope, summary และ caption