Yeah, definitely Codecademy. There's also another one called CodeSchool but it's not free. Some courses are good. Some are not that great.
I've TA-ed beginner HTML, CSS, and JS before. It is NOT enough to do these courses.
I repeat, it is NOT enough to do these courses.
We had students who completed the courses at both the aforementioned sites and still couldn't code at all, much less make a website.
You HAVE to go out into the wild and make websites. Start with simple client-side only websites. BitBalloon allows really fast, easy, and free hosting of your client-side websites. If you only stick with the online courses that hold your hand and tell you what you need to do next, you won't get anywhere.