vediamo...
proviamo dall'inizio, ti dico come procedo io:
quando costruisco un sito, come prima cosa creo un template, cioe' una pagina che contenga tutti gli elementi comuni, che di solito sono un'intestazione, un menu subito sotto oppure sulla sinistra, poi uno spazio vuoto che chiamiamo corpo che conterra' il contenuto di ogni pagina e sara' la parte variabile della stessa e alla fine un footer
a parte il corpo, tutto il resto si ripete esattamente uguale in tutte le pagine
ad ognuno degli elementi do un nome, un id, quello dell'header sara' (ad esempio) id="header"
nel css all'id header daro' delle caratteristiche (larghezza, altezza, colore... ) e tra queste daro' position: fixed
in questo modo, tutti gli elementi header di tutte le pagine del sito (che saranno costruite partendo dal template e salvandolo con un nuovo nome e poi adeguatamente riempite nella parte corpo), staranno fermi al loro posto quando scrolli la pagina 
il codice del tuo template all'interno del tag body sara':
codice:
<div id="contenitore">
<div id="header"><h1>Sito di Pinco Pallino</h1></div>
<div id="menu">
<ul>[*]Home[*]Prodotti[*]Contatti[/list]
</div>
<div id="corpo">
(parte che variera' da pagina a pagina)
</div>
<div id="footer">Pinco Pallino spa - Milano</div>
</div>
e nel css metterai:
codice:
#contenitore {width: 90%;}
#header {height: 50px; position-fixed; top: 30px;}
non testato, ma dovrebbe funzionare 
edit: puoi naturalmente dare un id al tag h1 anziche' al div e fissarlo alla stessa maniera col medesimo risultato, oppure dirgli di fissare #header h1 {position: fixed;}, cioe' di fissare il tag h1 dell'elemento contrassegnato dall'id header