<p>HTML is really simple. You could basically master it in a few hours. But HTML isn’t very useful on its own. It’s going to give you just ugly, really simple sites.
To make things pretty, you use CSS. This is also pretty simple, but there are some quirks to it that you figure out as you use it.
To make websites interactive, JavaScript is the simplest candidate (which will run in the user’s web browser). For a static webpage, this isn’t necessary, but your options will be limited for achieving some things if you don’t learn this programming side. If you want to have stuff like forms that can be submitted and store information, you will have to deal with server side programming, which is where things like PHP come in.</p>
<p>But back to your actual question: I learned the basics on CodeAcademy, and after that I learned by doing. I picked a project of a web page I wanted to design and I figured out how to make it. There are SO many resources online. If you want to figure out how to do something specific (for example, a drop-down menu), you can just google it and you will find tons of tutorials and useful information. You can also try replicating something specific you see on a website to get experience with particular features.</p>