Несколько ваших <tr>
были вложены друг в друга, исправив это (что я и сделал для вас ниже), вы можете выполнить sh половину столбцов, умножив каждую ячейку на 2 и обработав другую клетки нормально. Прочитайте это для получения дополнительной информации о том, как это сделать.
РЕДАКТИРОВАТЬ: Я на самом деле просто закончил писать все это, чтобы злить кого-то, здесь:
table{
border-collapse: collapse;
}
th, td{
border: 1px solid black;
padding: 4px;
}
<table>
<tr>
<th rowspan = "3">
Day
</th>
<th colspan = "3">
Seminar
</th>
</tr>
<tr>
<th colspan="2">
Schedule
</th>
<th colspan = "2" rowspan="2">
Topic
</th>
</tr>
<tr>
<th>
Begin
</th>
<th>
End
</th>
</tr>
<!-- table body code -->
<tr>
<td rowspan="2">
Monday
</td>
<td rowspan="2">
8:00 am
</td>
<td rowspan="2">
5:00 pm
</td>
<td>
Introduction to XML
</td>
</tr>
<tr>
<td>
Validity: DTD and Relax NG
</td>
</tr>
<tr>
<td rowspan="6">
Tuesday
</td>
<td rowspan = "2">
8:00 am
</td>
<td rowspan = "2">
11:00 am
</td>
<td rowspan = "3">
XPath
</td>
</tr>
<tr>
</tr>
<tr>
<td rowspan= "2">
11:00 am
</td>
<td rowspan= "2">
2:00 pm
</td>
</tr>
<tr>
<td rowspan= "3">
XSL Transformations
</td>
</tr>
<tr>
<td rowspan= "2">
2:00pm
</td>
<td rowspan= "2">
5:00pm
</td>
</tr>
<tr>
</tr>
<tr>
<td>Wednesday</td>
<td>8:00 am</td>
<td>12:00 pm</td>
<td>XSL Formatting Objects</td>
</tr>
</table>