In general, web programming can be divided up into two parts: the markup (HTML+CSS) and the programming (Javascript+Python/Django+Ruby/Rails+PHP… These two parts are pretty well separated- once you get past the basics, the HTML and the CSS part is basically art. The programming is more of engineering. Though you certainly can't learn CSS first- it's a complement to HTML, and completely worthless without it. I would start off just learning HTML because it's fairly simple, then learn the CSS so you can make more complex layouts. Once you get the hang of that, move on to programming.
Like your friends suggested, you should probably start out with either Python or Ruby. Both of those are fairly simple but very powerful languages with large communities that can help you if you have any questions. Personally, I find Python easier to read than Ruby but that may just be because I have more experience with it. You're also going to need to learn Javascript, which is the only language that runs in the client side of a web application (the browser). Once you learn how to program (which is way more than just writing code), you'll have to learn to use one of the Web Frameworks. The frameworks are toolkits that get take care of most of the work running the website- you just tell it what do to and what to show, and it will show it. Django is the most popular web framework that runs on Python, while Rails is the most popular framework for Ruby. Both of them use a pattern called Model-View-Controller. In the Model, you describe what data you're going to store. In the view, you describe how you're going to show the data, by generating HTML pages. For the most part, you generate the HTML pages by filling in the blanks in templates you create. Both Django and Ruby come with templating engines that make this easy to do- one of the reasons to use a web framework instead of trying to write the backend from scratch. The controller, the final part of the program, is where you actually do the logic in the program. It takes data from the model, processes it, and then hands it over to the view to show to the user.