So you want to learn about HTML elements and attributes and how to use them, as well as how to use CSS properties. Great! Modern HTML & CSS is the foundation of today's web. We've created this page with advice for anyone who would like to start learning HTML & CSS.
This page is for those who want to learn the "old fashioned" way, by learning what HTML elements like html, head, meta, p, etc. are for and how they're used. It's not for those who want to use an HTML editing program that hides the actual HTML & CSS source from you (also called a WYSIWYG editor for What You See Is What You Get).
Did you know? You don't need a web server or web hosting service to learn and create HTML pages. You can work right from your own computer, and even install a free web server with a database and PHP that you can use to learn and develop with (search "WAMP software" or "LAMP software" on the Internet).
When you want to publish your pages to the world then you will need to find a web server to upload your pages to, but before then, there's little or no need for a web server or web host.
To get started learning HTML, we recommend a good HTML editor. You can use just a regular text editor, but we highly recommend our product, CSS HTML Validator for Windows. It's not only an HTML editor, it will also check your HTML & CSS for problems. It's a fantastic learning tool and there's even a free version for personal/educational, non-commercial use.
If you don't use Microsoft Windows, then you should still be able to find a good HTML editor for your platform (Mac, Linux, etc.) by searching Google. You can even just use a normal text editor, but if you do then you might not have access to helpful HTML editing features.
If you use Windows and choose to install CSS HTML Validator then it will be very easy to check your HTML and CSS (just press F6). You can also place the cursor by any HTML element or CSS property and press F1 to instantly open a help page in your browser.
Classroom and student discounts are available.
Some people still like learning using physical books (although Kindle versions are also available). If you want to buy a book then we recommend these beginner-level books for learning HTML, CSS, PHP, and other languages. Some of the below books underwent a technical review (in whole or part) by Albert Wiersch, the developer of CSS HTML Validator.
At this point the below books are several years old but should still make for good starter books. If you want something newer or more advanced then there should still be plenty of options. In any case, we recommend that you choose a book that is well-reviewed and is suitable for the skill-level you want (i.e. don't buy an advanced book if you're just starting out).
Many people nowadays prefer to use online learning resources, and there are quite a few of them available now. Some resources are free and some are paid. In either case, installing and using CSS HTML Validator while you learn should be a big help.
Two popular online learning resources are Codecademy and W3Schools.
And don't forget about YouTube. There are also many good HTML and CSS channels that you can subscribe to on YouTube for video tutorials, although you may have to put up with some annoying ads that will suddenly start playing in the middle of the videos.
Do you want one or more HTML tutorials? No surprise, there are plenty of tutorials on the web too (which, of course, will vary in quality). Just search Google (new window) for "HTML tutorial" or Google (new window) for "CSS tutorial".
Here are a few HTML and CSS tutorials we've come across:
If you run into a question while learning (and who doesn't?) then you may want to post your question in our online General Web Development forum. Questions about HTML, CSS, search engine optimization (SEO), JavaScript, and more are welcome there.
The VIP code you'll need to register for a forum account can be obtained by asking support at htmlvalidator dot com for it. The VIP code helps prevent spam. The VIP code helps prevent forum spam.
Consider taking an online HTML and CSS class on Udemy The below video is from a beginner CSS course offered by Andy Williams on Udemy.com. The course name is CSS - Comprehensive CSS for beginners. It's a short introduction to CSS HTML Validator.
You can also access many free video tutorials at Guru99 (new window).
An accessible website (a website everyone can use) is crucial. We strongly recommend keeping in mind accessibility while learning HTML & CSS. Don't treat accessibility as if it's just an afterthought. Good books and tutorials will not ignore accessibility issues as they teach you.
Learn more about accessibility and accessibility testing here.
Back in 1997 (the 20th century or the 1900's as some would say), you could use HTML attributes to control styling like colors, fonts, margins, paddings, and borders, but not anymore! Today you use CSS to control these things. If you still use HTML attributes for these things then your browser and computer may explode.
Nowadays, along with HTML, you need to learn CSS (cascading style sheets) because the two languages go hand-in-hand. Using CSS, you can control the all-important layout of the page as well as the styling mentioned above - colors, fonts, margins, paddings, borders, and more. You can even do fancy animations with CSS. TIP: Don't use tables for layout! This worked in the 1900's but it's no good for today's websites (use tables for data, not layout).
Similar can be said for JavaScript, but HTML & CSS are the two most foundational languages for creating web pages. In fact, it's pretty amazing what you can do with just HTML and CSS these days!
Then just jump in there and start creating your first web pages. Don't forget about checking your work, either with CSS HTML Validator or with another good HTML and/or CSS validator or syntax checker. By checking your work, you'll already be well ahead of the many web developers who ignore or give little thought to the problem of inaccessible or badly constructed HTML & CSS.
More useful links: