hmm... hvorfor kalder du dine id'er for "toppen", teksten og "bunden", hvis de skal stå ved siden af hinanden?
Måden hvorpå du har "løst" dit problem virker kun ved lige netop den opløsning som du bruger. Hvis du ser siden med en højere opløsning vil siden bliver bredere mens den vil blive smallere i en lavere opløsning.
Du kan bruge følgende for at centrere en side. Husk at du så bør speceficere en bredde på "toppen", "tekst" og "bunden" for ellers så vil den de fylde hele siden da det er det divs gør som standard.
<div style="text-align: center;">
<center>
<div id="toppen">
</div>
<div id="tekst">
</div>
<div id="bunden">
</div>
</center>
</div>
Grunden til at der både er en center-div og center-tag er for at få det til at virke i alle browsere. Og af en eller anden grund så har rækkefølgen på disse to noget at sige i Firefox :/ .
Af hensyn til <span> kan det forklares som en tag der omkrænser tekst så man så kan give den tekst forskælligt design. Som standard laver span ikke noget om på den tekst den omkrænser og kan derfor være en god idé at bruge hvis man vil have en meget lille del af noget tekst farvet i en speciel farve eller lign. <font> havde samme formål men er en forældet tag og bør ikke bruges.