colspan และ rowspan สำหรับการครอบคลุมเซลล์
ผสานเซลล์ข้ามคอลัมน์และแถว
colspan และ rowspan สำหรับการครอบคลุมเซลล์ เป็นบทเรียน HTML Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน HTML Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส HTML Academy มีบทเรียนทั้งหมด 4 บทเรียน
การขยายช่วงเซลล์คืออะไร
โดยค่าเริ่มต้น เซลล์ตารางแต่ละเซลล์จะครอบคลุมหนึ่งแถวและหนึ่งคอลัมน์ การขยายช่วงเซลล์ ช่วยให้เซลล์ขยายครอบคลุมหลายคอลัมน์หรือหลายแถวได้:
colspan— ครอบคลุมหลายคอลัมน์- rowspan — ครอบคลุมหลายแถว
colspan
แอตทริบิวต์ colspan ทำให้เซลล์ครอบคลุมหลายคอลัมน์:
<table>
<tr>
<th colspan="3">2024 Quarterly Sales</th>
</tr>
<tr>
<th>Q1</th>
<th>Q2</th>
<th>Q3</th>
</tr>
<tr>
<td>$10k</td>
<td>$12k</td>
<td>$15k</td>
</tr>
</table>rowspan
แอตทริบิวต์ rowspan ทำให้เซลล์ครอบคลุมหลายแถว:
<table>
<tr>
<th rowspan="2">John</th>
<td>HTML</td>
<td>95</td>
</tr>
<tr>
<!-- no th here — John's cell spans this row -->
<td>CSS</td>
<td>88</td>
</tr>
</table>การใช้ colspan และ rowspan ร่วมกัน
สามารถใช้แอตทริบิวต์ทั้งสองร่วมกันในเซลล์เดียวได้:
<table>
<tr>
<th colspan="2" rowspan="2">Top-Left Corner</th>
<th>Col 3</th>
</tr>
<tr>
<td>Row 2, Col 3</td>
</tr>
<tr>
<td>Row 3, Col 1</td>
<td>Row 3, Col 2</td>
<td>Row 3, Col 3</td>
</tr>
</table>การคำนึงถึงเซลล์ที่ขยายช่วง
เมื่อเซลล์ครอบคลุมหลายคอลัมน์ ให้ละคอลัมน์เหล่านั้นออกจากแถวที่อยู่ในช่วงเดียวกัน:
<table>
<tr>
<td colspan="2">Spans 2 columns</td>
<!-- This row has: 1 td = 2 columns wide -->
<td>Third column</td>
</tr>
<tr>
<td>Col 1</td> <!-- back to 1 column each -->
<td>Col 2</td>
<td>Col 3</td>
</tr>
</table>รูปแบบการขยายช่วงที่พบบ่อย
ตัวอย่างการขยายช่วงในตารางที่พบได้จริง:
<!-- Group header spanning all data columns -->
<thead>
<tr>
<th rowspan="2">Name</th>
<th colspan="3">Test Scores</th>
</tr>
<tr>
<th>Math</th><th>Science</th><th>English</th>
</tr>
</thead>การใช้ rowspan สำหรับผสานหัวแถว
ใช้ rowspan เพื่อสร้างป้ายกำกับกลุ่มแถวที่ผสานกัน:
<tbody>
<tr>
<th rowspan="3">Frontend</th>
<td>HTML</td>
<td>Structure</td>
</tr>
<tr>
<!-- Frontend spans this row -->
<td>CSS</td>
<td>Presentation</td>
</tr>
<tr>
<td>JavaScript</td>
<td>Behavior</td>
</tr>
</tbody>colspan=0 — เซลล์เต็มความกว้าง
ค่า colspan เป็น 0 จะทำให้เซลล์ครอบคลุมคอลัมน์ที่เหลือทั้งหมดในกลุ่มคอลัมน์ (ไม่ค่อยมีการใช้):
<!-- colspan="0" spans the entire colgroup -->
<td colspan="0">Full width row</td>การขยายช่วงเซลล์กับการเข้าถึง
ตารางที่มีการขยายช่วงซับซ้อนต้องใช้แอตทริบิวต์ scope และ headers สำหรับโปรแกรมอ่านหน้าจอ:
<th scope="colgroup" colspan="3">2024 Scores</th>
<!-- scope="colgroup" applies to a spanning header -->
<!-- For complex tables, use headers attribute on td: -->
<td headers="col-q1 row-alice">95</td>การแก้ไขปัญหาการขยายช่วง
ข้อผิดพลาดที่พบบ่อยในการขยายช่วง:
- มีเซลล์ในแถวมากหรือน้อยเกินไปหลังการขยายช่วง
- rowspan ขยายเกินจำนวนแถว
- ช่วงทับซ้อนกัน (เซลล์สองเซลล์อ้างสิทธิ์ตำแหน่งเดียวกัน)
ใช้ DevTools ของเบราว์เซอร์เพื่อตรวจสอบโครงสร้างตาราง หากมีสิ่งใดแสดงผลไม่ถูกต้อง
CSS สำหรับเซลล์ที่ขยายช่วง
จัดรูปแบบเซลล์ที่ครอบคลุมหลายคอลัมน์หรือหลายแถว:
[colspan] {
text-align: center;
font-weight: bold;
background-color: #e2e8f0;
}
/* Or use attribute selectors for specific spans: */
[colspan="3"] {
background-color: #dbeafe;
}การพิมพ์และการขยายช่วง
เบราว์เซอร์สมัยใหม่จะพิมพ์เซลล์ที่ขยายช่วงได้อย่างถูกต้อง อย่างไรก็ตาม:
- หากแถว thead ครอบคลุมหลายคอลัมน์ แถวเหล่านั้นจะแสดงซ้ำอย่างถูกต้องในทุกหน้าที่พิมพ์
- rowspan ภายใน tbody จะไม่แสดงซ้ำเมื่อขึ้นหน้าใหม่
- ควรทดสอบตารางที่ซับซ้อนในหน้าตัวอย่างก่อนพิมพ์ก่อนนำไปใช้งานจริง
ตรวจสอบความเข้าใจ
คุณมีเซลล์ตารางที่ควรครอบคลุม 3 คอลัมน์ ต้องใช้แอตทริบิวต์ใด
ทบทวน: colspan และ rowspan
สิ่งสำคัญของการขยายช่วงเซลล์:
colspan— เซลล์ครอบคลุมหลายคอลัมน์rowspan— เซลล์ครอบคลุมหลายแถว- คำนึงถึงเซลล์ที่ขยายช่วง โดยละเซลล์ที่อยู่ในช่วงนั้นออก
- เพิ่ม
scope="colgroup"เพื่อให้ส่วนหัวที่ขยายช่วงเข้าถึงได้ - ใช้ DevTools เพื่อแก้ไขปัญหาเค้าโครง
คำถามที่พบบ่อย
บทเรียน “colspan และ rowspan สำหรับการครอบคลุมเซลล์” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “colspan และ rowspan สำหรับการครอบคลุมเซลล์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส HTML Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส HTML Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “colspan และ rowspan สำหรับการครอบคลุมเซลล์”
ผสานเซลล์ข้ามคอลัมน์และแถว คุณปฏิบัติ HTML Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน HTML Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน HTML Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “colspan และ rowspan สำหรับการครอบคลุมเซลล์” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน HTML Academy นี้ได้ไหม
ได้ บทเรียน HTML Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- table, tr, td และ th
- โครงสร้าง thead, tbody และ tfoot
- colspan และ rowspan สำหรับการครอบคลุมเซลล์
- การเข้าถึงตาราง: scope, summary และ caption