If you’re just starting, and don’t know any (or much) HTML, I would recommend first the W3C HTML5 tutorials. Start here
and then click on “Learn HTML”.These are simple, straightforward, and as previous commentators noted, you should definitely create your own simple problems and solve them. There is nothing like starting from the beginning, especially if you’re not sure what you know and don’t know. (The Mozilla stuff (MDN) is much more complex - use it after you’ve done the w3c tutorials.)
For CSS3, I strongly recommend the book “CSS The Missing Manual” by David McFarland. Very careful and complete description, lots of tutorials where you can write your own code. This is much better than using the web for learning, especially video, because subjects are simple to review (They’re in the book, on your desk.) . Use the web for reference.
While HTML and CSS seem simple, you should consider them (like any computer language) as two parts: The syntax, which is really simple (tags, open and closing brackets, dots, pound signs,dots and so forth) and the “libraries”, which are all the attributes and which can be really daunting and which have semantics. It’s the second part which is hard to learn.
My overall suggestion: Make sure you know what you know and what you don’t know. If you’re not sure, just start from the beginning.
Coding has two parts. (1) figure out what you want to “say”, then code it up. The first part in itself can be challenging (to say the least: read, for example, “The Mythical Man Month”).
Then I would say 80% of actual coding is debugging. You have to get a feeling for how to debug, and how YOU will debug, and you can only get this from doing it. Debugging is easier if your code is clear and documented. Debuigging where the forum can be invaluable, if your questions are short, clear and simple.
Some of the FCC coding examples seem simple, but this is deceptive: They can be surprisingly complex, and contain hidden gotchas. Get experience with coding. Just code all the time.