What if you could make your tables smarter and less messy with just one simple trick?
Why Cell merging in HTML? - Purpose & Use Cases
Imagine you are creating a table to show a weekly schedule. You want some activities to span across multiple days, so you try to write the same activity name in each cell manually.
Writing the same activity multiple times is slow and messy. If you want to change the activity name or the days it covers, you must update many cells individually, which can cause mistakes and inconsistent layouts.
Cell merging lets you combine multiple cells into one bigger cell. This way, you write the activity once, and it visually covers the right number of days, making your table cleaner and easier to update.
Monday | Activity A Tuesday | Activity A Wednesday | Activity A
<td colspan="3">Activity A</td>Cell merging enables clear, neat tables where related data spans multiple rows or columns without repetition.
In a school timetable, a class that lasts for three hours can be shown as one merged cell across those three time slots, making the schedule easy to read.
Manually repeating data in table cells is slow and error-prone.
Cell merging combines cells horizontally or vertically for cleaner tables.
This makes tables easier to read and maintain.
Practice
colspan attribute do in an HTML table?Solution
Step 1: Understand the purpose of
Thecolspancolspanattribute is used in a table cell to make it span across multiple columns horizontally.Step 2: Compare with
rowspanrowspanmerges cells vertically across rows, so it is different fromcolspan.Final Answer:
It merges cells horizontally across columns. -> Option AQuick Check:
colspan= horizontal merge [OK]
- Confusing colspan with rowspan
- Thinking colspan changes cell style
- Assuming colspan merges rows
Solution
Step 1: Identify the correct attribute for column merging
The attribute to merge columns iscolspan, so it should be used ascolspan='2'.Step 2: Check syntax correctness
<td colspan='2'>Merged</td>uses the correct attribute and syntax:<td colspan='2'>Merged</td>. Other options use wrong attributes or invalid syntax.Final Answer:
<td colspan='2'>Merged</td> -> Option CQuick Check:
Correct attribute for columns = colspan [OK]
- Using rowspan instead of colspan
- Using non-existent attributes like merge or span
- Missing quotes around attribute value
<table border='1'>
<tr>
<td rowspan='2'>A</td>
<td>B</td>
</tr>
<tr>
<td>C</td>
</tr>
</table>Solution
Step 1: Understand rowspan effect
Therowspan='2'on cell 'A' makes it cover two rows vertically in the first column.Step 2: Analyze placement of cells 'B' and 'C'
Cell 'B' is in the first row, second column; cell 'C' is in the second row, second column. They stack vertically next to the tall 'A' cell.Final Answer:
Cell 'A' spans two rows vertically, cells 'B' and 'C' are stacked vertically next to 'A'. -> Option DQuick Check:
rowspan = vertical merge [OK]
- Thinking rowspan merges columns horizontally
- Assuming cells B and C are side by side horizontally
- Confusing rowspan with colspan
<table border='1'>
<tr>
<td colspan='2'>Merged</td>
<td>Cell 3</td>
</tr>
<tr>
<td>Cell 4</td>
<td>Cell 5</td>
</tr>
</table>Solution
Step 1: Count columns in first row
The first row has a cell withcolspan='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 AQuick Check:
Column count must match in all rows [OK]
- Ignoring column count mismatch
- Thinking colspan value must match total columns
- Believing colspan is invalid on <td>
Solution
Step 1: Identify correct rowspan and colspan values
The cell should span 2 rows vertically and 3 columns horizontally, sorowspan='2'andcolspan='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 usesrowspan='2'andcolspan='3'. Other options have swapped or incorrect values.Final Answer:
<td rowspan='2' colspan='3'>Top Left</td> -> Option BQuick Check:
Rowspan = rows, colspan = columns [OK]
- Swapping rowspan and colspan values
- Using wrong numbers for spans
- Omitting one of the attributes
Ready to prove it?
Pass the test and this pattern moves unknown
