When I was learning CSS, I just spent a week reading the w3schools tutorial. I started on the first part, I went through each example and tried it myself. I even did it at school. But I need to refresh my memory on CSS, as I have forgotten some stuff. And as for XHTML, if you know html (not just the crappy photoshop generated stuff) then it should be easy to pick up on. Just a few things changed.
From w3schools:
XHTML stands for EXtensible HyperText Markup Language
XHTML is aimed to replace HTML
XHTML is almost identical to HTML 4.01
XHTML is a stricter and cleaner version of HTML
XHTML is HTML defined as an XML application
XHTML is a W3C Recommendation
Good luck!