Ora e` piu` chiaro. Effettivamente ti mancano i float. Prova cosi`:
codice:
#header_1 {
background-color: #CC0;
width: 100%;
}
#header_1 img {
float: left;
}
#header_1 h1 {
float: left;
font-size: 18px; /* sarebbe meglio usare una misura relativa, ad esempio 150% */
background-color: #09F;
}
#header_2 {
clear: both;
background-color: #C90;
height: 40px;
}
PS: occhio ad usare il carattere underscore negli id dei tag: a qualche browser non piace. Meglio se usi #header1, #header2, ...
PS: potrebbe essere necessario inserire nel #header_1 h1 anche margin: auto 0 0 0;