Hola...
solo agrega la parte q te falta... y ya lo tienes    
Código CSS:
Ver original*{
margin: 0;
padding: 0;
}
 
html {
height : 100%;
}
body {
height:100%;
}
 
#web {
    width:100%;
    height:100%;
    background-color:#fff;
    }
    
#header {
    width: 100%;
    height: 150px;
    background-color: black;
    }
 
#menu {
    width: 300px;
    height: 300px;
    background-color: red;
    float: left;
    }
    
#contenido {
    width: 100%;
    height: 300px;
    background-color: blue;
    }
 
#footer {
    width: 100%;
    height: 50px;
    background-color: grey;
    }
  
Saludos DTB