Mi par di capire che menu e content vanno affiancati. Allora devono essere float ambedue (e non serve il margine a quello di destra).
Poi per i problemi dei browser anche i contenitori devono essere float.
In conclusione il CSS per quel codice HTML dovrebbe essere (come struttura base):
codice:
html, body {
width: 100%; /* altrimenti i margini del container non sanno a cosa riferirsi */
font-size: 100%;
}
body {
font-family: Verdana, Arial, Helvetica, sans-serif;
/*font-size: 12px;*/ /* i browser possono forzare i font, per cui non conviene definirli fissi */
color: #534242;
background: #246a27;
text-align: center;
}
#container {
width: 772px;
margin: 0 auto;
text-align: left;
float: left;
}
#header {
height: 100px;
width: 100%;
float: left;
background: url(imgs/header.jpg) no-repeat;
}
#menu {
float: left;
width: 150px;
}
#content {
padding: 7px; /* potresti avere problemi con IE: sarebbe meglio usare il margin */
background-color: #b1c9b2;
float: left;
right: 0; /* per far finire il blocco sul margine destro del container */
}