It sounds like what you're trying to learn is web
development rather than web
design. The two are different, though knowing about each is useful. I assume you are looking to build sites as well as design them? It might be a better option to find a developer you can work with and just focus on the design side.Web development is a full-time job, and trying to get the hang of both sides of the coin means twice as much work.
Building sites using HTML and CSS is easy enough to learn once you get your head around it, the challenge comes from knowing how to do it correctly, for example semantically marking-up pages, loading resources in such a way that you don't slow down the loading of pages, using something like Less or Sass to create CSS that is cleaner, and thus more maintainable. Things get even more complicated when you start working with data and dynamic sites and need to interact with a database, as not many people want a standard static HTML+CSS site anymore.
This is where a language like PHP comes in handy, but this opens up new hurdles. There's a CMS I use for most of my sites called
Perch that requires minimum PHP knowledge thanks to the way it's built and the support of the staff and community. You still need to ensure you're writing code or configuring the server to prevent security vulnerabilities, such as script injections or man-in-the-middle attacks. Most security issues can be handled with an SSL to secure data sent in forms and strong passwords but it's another thing to worry about.
I'm not trying to but you off learning by any means, but my personal experience has taught me it's best to find someone who knows how to turn your designs into sites correctly. It's less stressful. Learning web design nowadays is a confusing and daunting experience thanks in part to the abundance of Javascript tools and frameworks that everyone seems to rely on, that in-turn require you to understand UNIX commands just to install these tools and get them working. I'm trying to work on something at the moment that requires the use of a framework that requires an endless list of other frameworks and dependencies just to export a file in a particular format!
I'd recommend you get experienced with HTML and CSS since these are core, then start looking at how you use PHP since most major content management systems are built on this language. I'd highly recommend Perch as it puts the focus on the HTML+CSS side of things. Basically it gives you complete control over how the site looks and works, you only make editable what you need to be editable. That should set you up with enough tools on your tool box to build some simple sites that can be edited. For large projects definitely look at making friends with a few developers.