以前に同様の質問があったことは知っていますが、見つけることができるすべての解決策を試しました (外側の div の position:relative と内側の div の position: absolute を含む)。赤い div を緑の上に重ねるのではなく、その下に配置します。
HTML:
<body>
    <div id="outer_div">
         <div id="title_div">
         </div>
        <div id="main_div">
        </div>
    </div>
</body/>
CSS:
body {
    height: 1000px;
    width: 1000px;
    margin: 0;
    padding: 0;
}
#outer_div {
    position: relative;
    height: 100%;
    width: 100%;
    background-color: blue;
    display: block;
}    
#title_div {
    top: 0;
    left: 0;
    position: absolute;
    height: 25%;
    width: 100%;
    background-color: green;
    display: block;
}
#main_div {
    top: 0;
    left: 0;
    position: absolute;
    height: 20%;
    width: 100%;
    background-color: red;
    display: block;
}
ありがとう!