HTML – or Hypertext Markup Language – is the language that gives the structure to most content on the web. HTML tells the web browser that this content is in a paragraph, for example. While CSS – or Cascading Style Sheets – is the language that tells the browser how to style and present that content, for example, what font should be used, what colour and how big should the text be.
HTML & CSS are often taught together as the basic tools of web development. Knowing these two languages will let you create static websites as well as serving as foundational skills for more dynamic web app development.
The current standard for HTML is HTML5. Modern web browsers are pretty forgiving for accomodating non-compliant HTML standards, but if you want your websites to perform at their best then make sure that you’re up to date with the current standard.
There are also regular challenges to test out your skills and get inspiration from.
W3Schools has been providing free educational resources to help people learn web technologies since 1998.
Their HTML Tutorial follows the latest HTML5 standard and is a great place to start as an introduction to HTML. W3Schools has an in-browser coding sandbox so that you try out the code and see what happens without having to have your own web hosting.
Their CSS Tutorial goes through CSS from basic to more advanced concepts.
This free course is taught through interactive screencasts. You learn how to build a website from scratch, which they estimate takes less than an hour.
You can also join their Scrimba Discord based community for social support.
The Learn Enough approach is based on helping people know just enough to create a working web app. So their HTML & CSS course is different to other courses. It teaches key concepts rather than all the details of web design. It also assumes that you will using a more dynamic templating platform in the future (like Ruby on Rails), so customises your learning for that.
Learn Enough HTML to Be Dangerous introduces the basics of HTML and teaches good practices for the future through creating a simple website.
Learn Enough CSS & Layout to Be Dangerous teaches how to use Cascading Style Sheets to create a professional-grade website and blog that’s published online, which you could use in a portfolio.