In effetti l'altezza è meglio non fissarla.
Potresti provare con una cosa del genere, anche se migliorabile:
Codice PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Liquid tre colonne</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="stile.css" type="text/css" media="screen" />
</head>
<body>
<div id="header">
<h1>Header</h1>
</div>
<div id="sidebar_a">
<h2>Sidebar A</h2>
...contenuto sidebar A</p>
</div>
<div id="sidebar_b">
<h2>Sidebar B</h2>
...contenuto sidebar A</p>
</div>
<div id="content">
...contenuto...</p>
</div>
<div id="footer">
<h3>Footer</h3>
</div>
</body>
</html>
mentre il CSS potrebbe essere:
Codice PHP:
/*
* =HEADER
--------------------------------------*/
#header{
background:#DDD;
border:2px solid #777;
padding:10px;
margin:0 0 10px 0;
}
/*
* =CONTENT
--------------------------------------*/
#content{
padding:10px;
border:1px solid #777;
margin:0 30% 10px 30%;
}
/*
* =SIDEBAR A
--------------------------------------*/
#sidebar_a{
float:left;
padding:10px;
border:1px solid #777;
width:25%;
margin:0 0 10px 0;
}
/*
* =SIDEBAR B
--------------------------------------*/
#sidebar_b{
float:right;
padding:10px;
border:1px solid #777;
width:25%;
margin:0 0 10px 0;
}
/*
* =FOOTER
--------------------------------------*/
#footer{
clear:both;
background:#DDD;
border:2px solid #777;
padding:10px;
margin:0 0 10px 0;
}
In pratica si fa il float a destra e a sinistra delle due barre laterali, e si assegnano dei margini destro e sinistro alla colonna centrale appena un po più larghi delle barre. Ho un esempio qui.
Poi all'interno di ogni colonna puoi organizzare il contenuto in vari div o liste