A wysiwyg program might make things easier, but it will never give you full control over your code, or know how you think.
html and css don't change all the time, and how would a wysiwyg program keep up with the changes even if they did? Compared to server side languages like PHP, ASP, PERL etc, mark-up languages (html, xhtml..) and Cascading Style Sheets (CSS 1, 2..) don't take a long time to learn and are relatively easy.
Another thing with wysiwyg editors is you never know what's actually going on behind the scene, and how html works, and why it does what it does, until you know how to code yourself. Wysiwyg editors seem like a good starting point, and I started off briefly using DW, but now I realise that it would've been
much easier to learn how to hand-code from the beginning.
www.w3schools.com is a great place to start.
SitePoint offers a few books on CSS if you prefer learning that way.