Al usar las clases div y los atributos CSS adecuados, puede imitar los efectos deseados de colspan y rowspan.
Aquí está el CSS
.table {
display:table;
}
.row {
display:table-row;
}
.cell {
display:table-cell;
padding: 5px;
vertical-align: middle;
}
Aquí está el HTML de muestra
<div class="table">
<div class="row">
<div class="cell">
<div class="table">
<div class="row">
<div class="cell">X</div>
<div class="cell">Y</div>
<div class="cell">Z</div>
</div>
<div class="row">
<div class="cell">2</div>
<div class="cell">4</div>
<div class="cell">6</div>
</div>
</div>
</div>
<div class="cell">
<div class="table">
<div class="row">
<div class="cell">
<div class="table">
<div class="row">
<div class="cell">A</div>
</div>
<div class="row">
<div class="cell">B</div>
</div>
</div>
</div>
<div class="cell">
ROW SPAN
</div>
</div>
</div>
</div>
</div>
</div>
Por lo que veo tanto en las preguntas como en la mayoría de las respuestas, la gente parece olvidar que en cualquier div que actúe como una "celda de tabla", puede insertar otro div que actúa como una tabla incrustada y comenzar el proceso. encima.
*** No es glamoroso, pero funciona para aquellos que buscan este tipo de formato y quieren evitar las TABLAS. Si es para DISEÑO DE DATOS, las TABLAS aún funcionan en HTML5.
Espero que esto ayude a alguien.