body タグの直接の子として div#header と div#body を持つ html/css レイアウトが必要です。div#body で残りのスペースを埋めたいのですが、JavaScript は使用したくありません。div#header の正確な高さを知っていれば可能です。しかし、私はそれを修正したくありません。
固定 div#header の例
<head>
    <style>
        html, body {
            position: relative;
            margin: 0;
            padding: 0;
            width: 100%;
            height: 100%;
        }
        div {
            width: 100%;
        }
        #header {
            position: relative;
            <!-- i want to remove height because i want the header to size itself 
                 dependent on it's content -->
            height: 100px;
            background-color: red;
        }
        #body {
            <!-- I want to make the body position relative and set top to 0 
                 but that does not work as expected.-->
            position: absolute;
            top: 100px;
            margin: 0;
            bottom: 0;
            background-color: green;
            height: auto;
        }
    </style>
</head>
<body>
    <div id="header">header</div>
    <div id="body">body</div>
</body>
div と css を使用する代替手段があれば教えてください。よろしくお願いします!