Pour mon propre site, j'ai commencé par utiliser
Nvu. C'est pratique parce que tu écris ce que tu veux et ca code tout seul derrière (enfin bon, c'est pas le seul qui fait ca

)
Résultat : un code illisible avec plein de table partout. Pratique pour découvrir le HTML parce que ca te donne le nom de fonctions que tu ne connais pas, des options possibles, etc... mais bon, illisible comme code (en même temps, ca passe sur tous les navigateurs puisque tout est codé en dur)
Puis j'ai été sur
ce site très bien expliqué pour faire des beaux truc en xHTML et css. Mais il faut coder à la main

D'où je me rapproche du conseil d'Aurel.
Par contre, je déteste Textedit pour faire ca parce qu'il ne me permet pas de faire du php et il a la facheuse habitude de me cacher les balises HTML (pour faire comme du Nvu), ce qui n'est pas pratique pour faire du css.
Voilà pour mon retour d'expérience personnelle

[edit]
je viens d'aller sur le site que propose Aurel et je viens de voir qu'Nvu supporterait le css et le xHTML. Faudra donc que je me penche là dessus même si ca a un coté sympathique de coder à la main comme un grand