私はこのcssテンプレートを構築しようとしています:

各ブロックの説明と高さは次のとおりです。
ブロック 1
- 幅: ページの幅
- 高さ: 100px
ブロック 2
- 最小幅: 300px;
- 幅はコンテンツとともに大きくなります。
- 高さ: ブロック 1 によって残されたすべての高さ
ブロック 3
- width: ブロック 2 によって残されたすべての幅
- 高さ: ブロック 1 と 4 によって残されたすべての高さ
ブロック 4
- width: ブロック 2 によって残されたすべての幅
- 高さ: 150px
また、各ブロック間の余白は 20px です。最終的なレイアウトの幅と高さは、ページのスペース全体を埋める必要がありますが、それ以上ではありません (スクロールバーなし)。
私はテーブルを使用してそれを行うことができますが、div ベースの css が必要です。それを行う方法のアイデア。
PS: コンパスを使用しています
編集: これは私がやろうとしていることのデモです:
しかし、私が使用するhtmlは次のとおりです。
<table>
    <tr>
        <td colspan="2" class="block1">
            <div class="block">
                Block 1
            </div>
        </td>
    </tr>
    <tr>
        <td rowspan="2" class="block2">
            <div class="block">
                Block 2
            </div>
        </td>
        <td class="block3">
            <div class="block">
                Block 3
            </div>
        </td>
    </tr>
    <tr>
        <td class="block4">
            <div class="block">
                Block 4
            </div>
        </td>
    </tr>
</table>