私には別の解決策があり、以前に提案したものよりも少し複雑ですが、解決策の適用方法に関してより柔軟性が得られると思います。
まず、以下に示すように、いくつかのcssコードが必要です。
td:not([colspan='2']) {
/*your styling here*/
}
td[colspan='2'] {
display: table-row;
}
td[colspan='2'] > div {
display: table-cell;
width: 50%;
/*same styling here*/
}
最後に、html:
<table>
<tbody>
<tr>
<td colspan='2'>
<div id="cell-a"></div>
<div id="cell-b"></div>
</td>
<td id="cell-c"></td>
<!--and so on-->
基本的に、cssは、テーブル行のスタイルを最適化するために、テーブルの組み込み表示を模倣します。これにより、cssがすべての作業を実行できるようになり、さらに、必要な場所で2つのセルを2倍にするために、どこにでもcolspan='2'を配置できるようになります。これが機能することを確認するために、私はすでにローカルでテストしました。
編集:
テーブル構造内で適切な間隔を空けるために、幅を追加しました:td [colspan = '2']> divの下に50%。