Welcome to the MDN Learning Area. This set of articles aims to provide complete beginners to web development with all they need to start coding simple websites.
The aim of this area of MDN is not to take you from "beginner" to "expert" but to take you from "beginner" to "comfortable". From there you should be able to start making your own way, learning from the rest of MDN and other intermediate to advanced resources that assume a lot of previous knowledge.
If you are a complete beginner, web development can be challenging — we will hold your hand and provide enough detail for you to feel comfortable and learn the topics properly. You should feel at home whether you are a student learning web development (on your own or as part of a class), a teacher looking for class materials, a hobbyist, or someone who just wants to understand more about how web technologies work.
Important: The content in the Learning Area is being added to regularly. If you have questions regarding topics you'd like to see covered or feel are missing, see the Contact us section below for information on how to get in touch.
Complete beginner: If you are a complete beginner to web development, we'd recommend that you start by working through our Getting started with the Web module, which provides a practical introduction to web development.
Specific questions: If you have a specific question about web development, our Common questions section may have something to help you.
Beyond the basics: If you have a bit of knowledge already, the next step is to learn HTML and CSS in detail: start with our Introduction to HTML module and move on to our Introduction to CSS module.
Moving onto scripting: If you are comfortable with HTML and CSS already, or you are mainly interested in coding, you'll want to move onto JavaScript or server-side development. Begin with our JavaScript first steps and Server-side first steps modules.
ASCII (American Standard Code for Information Interchange) is one of the most popular coding method used by computers for converting letters, numbers, punctuation and control codes into digital form. Since 2007, UTF-8 superseded it on the Web.
The following is a list of all the topics we cover in the MDN learning area.
HTML is the language that we use to structure the different parts of our content and define what their meaning or purpose is. This topic teaches HTML in detail.
CSS is the language that we can use to style and lay out our web content, as well as adding behavior like animation. This topic provides comprehensive coverage of CSS.
JavaScript is the scripting language used to add dynamic functionality to web pages. This topic teaches all the essentials needed to become comfortable with writing and understanding JavaScript.
Accessibility is the practice of making web content available to as many people as possible regardless of disability, device, locale, or other differentiating factors. This topic gives you all you need to know.
Even if you are concentrating on client-side web development, it is still useful to know about how servers and server-side code features work. This topic provides a general introduction to how the server-side works, and detailed tutorials detailing how to build up a server-side app using two popular frameworks — Django (Python) and Express (node.js).
The code examples you'll encounter in the Learning Area are all available on GitHub. If you want to copy them all to your computer, the easiest way is to:
Install Git on your machine. This is the underlying version control system software that GitHub works on top of.
To copy the learning area repo to a folder called learning-area in the current location your command prompt/terminal is pointing to, use the following command:
git clone https://github.com/mdn/learning-area
You can now enter the directory and find the files you are after (either using your finder/file explorer or the cd command).
You can update the learning-area repository with any changes made to the master version on GitHub with the following steps:
In your command prompt/terminal, go inside the learning-area directory using cd. For example, if you were in the parent directory:
cd learning-area
Update the repository using the following command:
git pull
If you want to get in touch with us about anything, the best way is to drop us a message on our Learning Area discourse thread or IRC channels. We'd like to hear from you about anything you think is wrong or missing on the site, requests for new learning topics, requests for help with items you don't understand, or any other questions or concerns.
If you're interested in helping develop/improve the content, take a look at how you can help, and get in touch! We are more than happy to talk to you, whether you are a learner, teacher, experienced web developer, or someone else interested in helping to improve the learning experience.
Choose your preferred method for joining the discussion:
A series of teaching activities for teaching (and learning) created by the Mozilla Foundation, covering everything from basic web literacy and privacy to JavaScript and hacking Minecraft.
Thanks! Please check your inbox to confirm your subscription.
If you haven’t previously confirmed a subscription to a Mozilla-related newsletter you may have to do so. Please check your inbox or your spam filter for an email from us.