Is it possible to use HTML 5 to create a gradient background? If so how is that done?
It's done in CSS
The best way to see how all this stuff is done is study some of the HTML/CSS frameworks out there like Twitter Bootstrap as they do a little bit of everything and you can easily learn all the basics by seeing how it's done.
Not only that, you can use a framework to build a site with all those fancy features today, not after you've figured it all out.