In any scripting/prgramming language, the markup is very similar, C/Java/ECMAScript/PHP/ etc..
If you are familiar with java, then you will have a much easier time learning PHP, or any script based on the "C/C++" style.
CSS is a script that you learn "as you go". It's nearly impossible to sit on a computer learning CSS, and sufficiently memorizing it, without practicing and putting into use. CSS is something you do "on-the-job".
As for AJAX, it is nice to learn, very short and sweet. However, this has been replaced with a JavaScript derivative called jQuery. Almost no website that uses AJAX uses the given "XMLHttpRequest" that certain AJAX tutorial provide you. Why? Because would you rather write many lines of code to do ONE thing, or just write:
$.ajax( Parameters ) ;
You can learn these scripts talked about above at the links I provide you in the source.
Good Luck!
If you need further assistance/advice, feel free to contact me.