📖 Scenario: You are making a simple webpage to show a weekly schedule. Some activities last multiple days, so you want to merge table cells to show this clearly.
🎯 Goal: Build an HTML table that uses colspan and rowspan to merge cells, making the schedule easy to read.
📋 What You'll Learn
Create a table with 3 rows and 4 columns
Merge two cells horizontally using colspan
Merge two cells vertically using rowspan
Use semantic HTML with <table>, <thead>, <tbody>, <tr>, <th>, and <td>
Include a lang attribute in the <html> tag and a charset meta tag
💡 Why This Matters
🌍 Real World
Tables with merged cells are common in schedules, calendars, and reports to show grouped or spanning information clearly.
💼 Career
Knowing how to use colspan and rowspan is essential for web developers to create clear, accessible data tables in websites and apps.
Progress0 / 4 steps
1
Create the basic HTML table structure
Write the basic HTML5 page structure with lang="en" in the <html> tag and a <meta charset="UTF-8"> inside the <head>. Inside the <body>, create a <table> with a header row (<thead>) containing four column headers: Day 1, Day 2, Day 3, and Day 4. Then add an empty body section (<tbody>) with no rows yet.
HTML
Hint
Remember to add lang="en" in the <html> tag and a <meta charset="UTF-8"> inside <head>. Then create a table with a header row containing four <th> cells for the days.
2
Add the first row with a merged cell horizontally
Inside the <tbody>, add a table row (<tr>) with three cells. The first cell should have the text Meeting and use colspan="2" to span across Day 1 and Day 2 columns. Then add two more cells with texts Work and Break for Day 3 and Day 4 respectively.
HTML
Hint
Use colspan="2" inside the first <td> to merge two columns horizontally. Then add two more <td> cells for the other days.
3
Add the second row with a merged cell vertically
Add a second table row inside <tbody>. The first cell should have the text Workshop and use rowspan="2" to span vertically across this row and the next. Then add three more cells with texts Study, Exercise, and Rest for Day 2, Day 3, and Day 4 respectively.
HTML
Hint
Use rowspan="2" in the first <td> of the new row to merge cells vertically. Then add three more <td> cells for the other days.
4
Add the third row to complete the vertical merge
Add a third table row inside <tbody>. Since the first cell is merged vertically from the previous row, add only three cells with texts Review, Plan, and Relax for Day 2, Day 3, and Day 4 respectively.
HTML
Hint
Since the first cell is merged vertically, add only three <td> cells in this row for the remaining days.
Practice
(1/5)
1. What does the colspan attribute do in an HTML table?
easy
A. It merges cells horizontally across columns.
B. It merges cells vertically across rows.
C. It changes the color of a cell.
D. It adds a border around a cell.
Solution
Step 1: Understand the purpose of colspan
The colspan attribute is used in a table cell to make it span across multiple columns horizontally.
Step 2: Compare with rowspan
rowspan merges cells vertically across rows, so it is different from colspan.
Final Answer:
It merges cells horizontally across columns. -> Option A
A. Second row has only two cells but first row has three columns, causing layout mismatch.
B. The colspan attribute value should be '3' instead of '2'.
C. The colspan attribute is not allowed on td elements.
D. The table is missing a thead section.
Solution
Step 1: Count columns in first row
The first row has a cell with colspan='2' plus one more cell, so total columns = 2 + 1 = 3.
Step 2: Count columns in second row
The second row has only two cells, so only 2 columns, which causes a mismatch in table layout.
Final Answer:
Second row has only two cells but first row has three columns, causing layout mismatch. -> Option A
Quick Check:
Column count must match in all rows [OK]
Hint: Ensure all rows have same total columns after colspan [OK]
Common Mistakes:
Ignoring column count mismatch
Thinking colspan value must match total columns
Believing colspan is invalid on <td>
5. You want to create a table where the top-left cell spans 2 rows and 3 columns. Which is the correct way to write this cell?
hard
A. <td rowspan='3' colspan='2'>Top Left</td>
B. <td rowspan='2' colspan='3'>Top Left</td>
C. <td colspan='2' rowspan='3'>Top Left</td>
D. <td colspan='3'>Top Left</td>
Solution
Step 1: Identify correct rowspan and colspan values
The cell should span 2 rows vertically and 3 columns horizontally, so rowspan='2' and colspan='3' are needed.
Step 2: Check attribute order and correctness
Attributes can be in any order, but <td rowspan='2' colspan='3'>Top Left</td> correctly uses rowspan='2' and colspan='3'. Other options have swapped or incorrect values.
Final Answer:
<td rowspan='2' colspan='3'>Top Left</td> -> Option B
Quick Check:
Rowspan = rows, colspan = columns [OK]
Hint: Use rowspan for rows, colspan for columns together [OK]
Common Mistakes:
Swapping rowspan and colspan values
Using wrong numbers for spans
Omitting one of the attributes
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.