The links on this page lead to a variety of tutorials and training materials. Whether you are just starting out, learning the basics, or are an old hand at web development, you can find helpful resources here for best practices. These resources are created by forward-thinking companies and web developers who have embraced open standards and best practices for web development and that provide or allow translations, through an open content license such as Creative Commons.
For complete beginners to the Web
- Getting started with the Web
- Getting started with the Web is a concise series introducing you to the practicalities of web development. You'll set up the tools you need to construct a simple webpage and publish your own simple code.
- Introduction to HTML
- This module sets the stage, getting you used to important concepts and syntax, looking at applying HTML to text, how to create hyperlinks, and how to use HTML to structure a webpage.
- MDN HTML Element Reference
- A comprehensive reference for HTML elements, and how the different browsers support them.
- HTML Challenges (Wikiversity)
- Use these challenges to hone your HTML skills (for example, "Should I use an <h2> element or a <strong> element?"), focusing on meaningful mark-up.
- Multimedia and embedding
- This module explores how to use HTML to include multimedia in your web pages, including the different ways that images can be included, and how to embed video, audio, and even entire other webpages.
- HTML Tables
- Representing tabular data on a webpage in an understandable, accessible way can be a challenge. This module covers basic table markup, along with more complex features such as implementing captions and summaries.
- HTML Forms
- Forms are a very important part of the Web — these provide much of the functionality you need for interacting with web sites, e.g. registering and logging in, sending feedback, buying products, and more. This module gets you started with creating the client-side parts of forms.
- Tips for Authoring Fast-Loading HTML Pages
- Optimize web pages to provide a more responsive site for visitors and reduce the load on your web server and Internet connection.
- CSS basics
- CSS (Cascading Style Sheets) is the code you use to style your webpage. CSS Basics takes you through what you need to get started. We'll answer questions like: How do I make my text black or red? How do I make my content show up in such-and-such a place on the screen? How do I decorate my webpage with background images and colors?
- Introduction to CSS
- This module goes in depth with how CSS works, including selectors and properties, writing CSS rules, applying CSS to HTML, how to specify length, color, and other units in CSS, cascade and inheritance, box model basics, and debugging CSS.
- Styling boxes
- Next up, we look at styling boxes, one of the fundamental steps towards laying out a web page. In this module we recap the box model then look at controlling box layouts by setting padding, borders and margins, setting custom background colors, images and other features, and fancy features such as drop shadows and filters on boxes.
- Styling text
- Here we look at text styling fundamentals, including setting font, boldness, and italics, line and letter spacing, and drop shadows and other text features. We round off the module by looking at applying custom fonts to your page, and styling lists and links.
- Common CSS Questions
- Common questions and answers for beginners.
- CSS layout
- At this point we've already looked at CSS fundamentals, how to style text, and how to style and manipulate the boxes that your content sits inside. Now it's time to look at how to place your boxes in the right place in relation to the viewport, and one another. We have covered the necessary prerequisites so can now dive deep into CSS layout, looking at different display settings, traditional layout methods involving float and positioning, and new fangled layout tools like flexbox.
- CSS Reference
- Complete reference to CSS, with details on support by Firefox and other browsers.
- Fluid Grids (A List Apart)
- Design layouts that fluidly resize with the browser window, while still using a typographic grid.
- CSS Challenges (Wikiversity)
- Flex your CSS skills, and see where you need more practice.
- Using CSS Transforms
- Apply rotation, skewing, scaling, and translation using CSS.
- CSS Transitions
- CSS transitions, part of the draft CSS3 specification, provide a way to animate changes to CSS properties, instead of having the changes take effect instantly.
- Quick Guide to Implement Web Fonts with @font-face (HTML5 Rocks)
- The @font-face feature from CSS3 allows you to use custom typefaces on the web in an accessible, manipulatable, and scalable way.
- Starting to Write CSS (David Walsh)
- An introduction to tools and methodologies to write more succinct, maintainable, and scalable CSS.
- Canvas Tutorial
- Learn how to draw graphics using scripting using the canvas element.
- HTML5 Doctor
- Articles about using HTML5 right now.
- Codecademy (Codecademy)
- Client-side web APIs
- You Don't Know JS (Kyle Simpson)
- Exploring ES6 (Dr. Axel Rauschmayer)
- Reliable and in-depth information on ECMAScript 2015.
- How browsers work
- A detailed research article describing different modern browsers, their engines, page rendering etc.
- WebExtensions is a cross-browser system for developing browser add-ons. To a large extent the system is compatible with the extension API supported by Google Chrome and Opera. Extensions written for these browsers will in most cases run in Firefox or Microsoft Edge with just a few changes. The API is also fully compatible with multiprocess Firefox.
Document Tags and Contributors
Contributors to this page: chrisdavidmills, jstndwn, TornadoIDS, pgosk, jortoller, kdex, torazaburo, behradkhodayar, jsx, MoTTs, saidkocdemir, MusiqueGraeme, teoli, hosttor, wbamberg, fscholz, Marijn, austinharper, Prabhakar_u, CrazyAlvaro, mit7one, didinka20, jswisher, Nikaloz, firstname.lastname@example.org, waylon531, anushbmx, carloshlira, jonsger, Oliver_Propst, arkapravamajumder, codepo8, Aleksej, ChaseWagoner, caglardursun, kunal_dhir, Domecraft, kscarfone, instanceofme, case, w3b_m4ster, taatzone, Sheppy, alispivak
Last updated by: chrisdavidmills,