There are plenty of free hosting websites out there that you can take advantage of. There are factors to consider though: disk space, php support, ftp support, advertising, etc.
After a quick google search i found: Zymic Hosting which offers 6Gigs space, FTP Access, php/mysql support, and no advertising.
You really don't need to host a site online to practice. In fact it will be more cumbersome than running in your local.
You can download a web server (I recommend Tomcat), run it in your local, and deploy and test your code on it.
In fact, if you are practicing on static html + css you don't need a server at all. Save the html file and open in your browser.