Web developers learn by practice. Reading books is fine, but you need to actually start coding as soon as possible, before even opening the first book. Google everything you don't understand, try everything you read about in practice. Here are some key points for you.

1) Choose Javascript. It will be the universal Web language for years to come, both at browser and backend.
2) If you don't know it yet, learn simple HTML5 and CSS first. How the document is structured, what are simple tags (you can do nearly everything with div, span, p, a, button and img, by the way). Write a few simple HTML pages. Try various CSS styles on the same page and see how it's changed. Use a simple text editor for it (I recommend Atom).

CSS is roughly subdivided into layouts and styling. Layout is the way various web page components arranged on the screen. Style is the way they are displayed (like colors, borders, fonts etc.) Here is what you should start with:

Layout: Use Flexbox. Ignore older CSS layout properties like "float", "clear" etc. Try all examples from https://css-tricks.com/snippets/css/a-guide-to-flexbox/ (like copying them into your own CSS file and see how they work). Add "margin" and "padding" properties to your items and containers to see how they work and what can be changed.
Styling: learn following CSS properties: "color", "font-...", "text-...", "background-...", "list-...". This should be enough to get you started.

Now, you can replicate a simple web page, like Hacker News. Do it. Then, make it better looking. :) Continue learning the rest of CSS from here. Continue replicating (and improving) other web pages.

Then, start learning Javascript. Open your browser's development console (Google how to do it). Write your obligatory Hello World:

console.log("Hello, world!")

Press Enter. Congratulations, you are now initiated on the path of software engineering.

Start with client-side development (manipulating page elements in response to some actions).

Download the last version of jQuery and include it into your page's scripts. You can start without it, but everyone uses jQuery anyway (until you get to React, which is some advanced level not covered here).

Create a simple Web page with a button and some text.

Read jQuery documentation and figure out how to:

- Change the text when the button is pressed
- Delete the text when the button is pressed
- Add another button when the button is pressed
- Make this added button also adding a button when pressed, etc.
- Go to another web page when the button is pressed.

Now you know the basics of client-side scripting. Continue from here, try a few more things from jQuery's documentation. Time to move to the server side.

Install Node.js. Run node.js web server. Write a simple server that gives something in response to your page request: http://blog.modulus.io/build-your-first-http-server-in-nodej...

Go back to jQuery documentation. Read how to use ".ajax" method. Write a function that replaces some text on the page with the response of your Node.js server.

Congratulations, you are now newly minted web developer. Think of some ideas you can do on your own. Learn some most popular web frameworks mentioned in job requirements (probably Bootstrap, and you are already learning jQuery).

Learn how to debug your code (with browser's development tools). You'll have to use Google a lot and read lots of docs, this is expected. Be confident that you can find the answer for your every question, on your own.

Then, go create!