FAQ: Learn HTML - Tables - Rowspan

This community-built FAQ covers the “Spanning Rows” exercise in Codecademy’s lessons on HTML.

Here are the most popular community questions on this exercise:

Join the Discussion. We Want to Hear From You!

Have a new question or can answer someone else’s? Reply (reply) to an existing thread!

Agree with a comment or answer? Like (like) to up-vote the contribution!

Need broader help or resources about HTML in general? Go here!

Want to take the conversation in a totally different direction? Join our wider discussions.

Learn more about how to use this guide.

Found a bug? Report it!

Have a question about your account, billing, Pro, or Pro Intensive? Reach out to our support team!

None of the above? Find out where to ask other questions here!

Other FAQs

The following are links to additional questions that our community has asked about this exercise:

  • This list will contain other frequently asked questions that aren’t quite as popular as the ones above.
  • Currently there have not been enough questions asked and answered about this exercise to populate this FAQ section.
  • This FAQ is built and maintained by you, the Codecademy community – help yourself and other learners like you by contributing!

Not seeing your question? It may still have been asked before – try searching for it by clicking the spyglass icon (search) in the top-right of this page. Still can’t find it? Ask it below by hitting the reply button below this post (reply).

Why don’t the table heading elements in the example table given for this exercise include scope attributes?


2 posts were split to a new topic: What code editor should I use?

Can you use colspan and rowspan in the same


When I increased the rowspan attribute it appeared to also increase the height size of the other rows as well–is this standard or just in the exercise?

So I tried spanning a element across 1 row vs 4 rows to see the difference like so:

  <td colspan="2">what</td>
  <td rowspan ="4">we are</td>

But there was no difference and it didn’t span across 4 rows. Can anyone please tell me why?

1 Like

I have not been able to successfully get this rowspan element in without having the columns messed up or for the code to completely stop working ie. forever running loading circle. Can someone maybe explain to me why we want to firstly add a “span a <td> element across two rows.”? I don’t actually get why we are doing this. It seems to break up the table not make it better. And secondly if you can explain to me the process for this new addition to our code.
A snippet of my code:

div class=“search”>Search the table

<th>Adam's Greenworks</th>

<td rowspan="2"></td>


<th>Package Items</th>

Here’s a picture of my code and forever loading circle:

Company Name Number of Items to Ship Next Action
Davie's Burgers 2 Send Invoice

I think its because you’re missing enough empty rows after

for your td to occupy. I checked it in the excercise by adding

<td rowspan="4">Adam's Greenworks</td>

which then does occupy the next 4 rows

your <td> element doesn’t contain any data to span 2 rows. maybe that messes up the rendering. your code should probably look more like this:
<th scope="rowgroup">Adam's Greenworks</th>
(or <td>Adam's Greenworks</td> if you don’t want to style this as a row header and keep it as a data point instead)

<td rowspan="2">14</td>
(now the entry of 14 should occupy two rows of it’s column.)

<td>Package Items</td>

from your picture it seems you have used the <th> element almost exclusively. I don’t think that’s best practice (presumably because of semantics and later styling, I haven’t started css yet). You should probably use the <td> element for data entries and use <th> only for headers with a scope for the row or column accordingly.