If you're seeing this message, it means we're having trouble loading external resources on our website.

If you're behind a web filter, please make sure that the domains *.kastatic.org and *.kasandbox.org are unblocked.

Main content

What to learn next

Congratulations on learning HTML and CSS fundamentals! You now understand a lot of what goes into the webpages you see around the internet, and you should hopefully be able to look at those webpages and start to recognize the HTML tags and CSS properties in use.
There is a whole lot more that you can do to build on your HTML and CSS knowledge, however. Read on!

More HTML tags

  • Form tags: There are quite a few tags that are used to create web forms, like <button>s and <input>s. They are typically used to communicate data back to a server, something which we don't enable on Khan Academy. They can also be used with JS to create a game, which we do teach in the HTML/JS course. Learn more about form tags with these slides. Learn server-side languages like PHP, Python, Ruby on Codecademy.
  • Iframes: The <iframe> tag is a way to frame another webpage inside yours, and is handy for things like embedding Youtube videos, Google Maps, etc. That tag is disabled on Khan Academy currently for security and moderation purposes, but can be experimented with elsewhere. Learn more with these slides.
  • Multimedia tags: The <audio> and <video> tags are supported in modern browsers as a way to play audio and video files on webpages. Like the <iframe> tag, they are currently disabled on Khan Academy, but can be used elsewhere. Learn more with these slides.
  • New semantic tags: In the past few years, as part of the "HTML5" specification, browsers have added new semantic tags for developers to use instead of <div>s, when appropriate, such as <article>, <aside>, <nav>, etc. There are many articles about them here, including this handy flowchart for deciding when to use them.

More CSS selectors and properties

You should be able to experiment with all of these on Khan Academy:
  • CSS3: We covered CSS that's been supported in browsers for years, but there are many new CSS properties and selectors in what's known as the "CSS3" specifications, and browsers are adding support continuously as they release new versions. You can learn more in these CSS3 selectors slides, and CSS3 properties slides. Make sure to check caniuse.com to find out what's supported in each browser.
  • Media queries: This is a technique that lets you specify different CSS for different situations, like when your webpage is viewed at a smaller size or when it's printed. Learn more from W3C.
  • CSS frameworks: A framework is a collection of CSS rules and classes, and many developers use CSS frameworks to enable them to write CSS faster. The most popular one is Twitter Bootstrap, but there's also ZURB foundation, Pure CSS, Topcoat, and more.

Using JS in webpages

Web developers use JavaScript to make webpages interactive, to respond to user events and bring in data dynamically from servers. They do that by embedding <script> tags inside the HTML, and putting JavaScript inside those tags. Their JS code then uses the "DOM API", a set of functions that browsers make available on every webpage to let developers query and manipulate that page.
That means that if you want to learn to make your webpages interactive, you both need to learn the fundamentals of the JavaScript language (which you can do here on Khan Academy), plus you need to learn the DOM API (which you can learn in our course here).

Making webpages outside Khan Academy

We love to see you making cool webpages here and sharing what you're learning with the community, but we also think its a great thing to experience other code editing environments and get to experiment with functionality that we don't have enabled. If you want to continue coding inside the browser (especially if you're on a ChromeBook), you can try JSBin.com, JSFiddle.net, or Cloud9 IDE.
If you want to code outside of the browser, you can download an IDE and save your webpages as ".html" files. Popular IDEs are Notepad++ (Windows only), Visual Studio Code, SublimeText, Adobe Brackets, Coda, and BBEdit.

Hosting webpages on a server

We host the webpages that you create here on Khan Academy on our own server, but you may want to set up your own web presence.
First, you'll have to find a company that will host your site. There are many hosting providers out there, with varying degrees of flexibility and price.
Then you will also want to create a domain name, like "mycoolname.com", so that your site can be a part of your identity. Sometimes you can do that with your hosting provider, but often times, you use a different domain name registrar for that. Learn more from these slides.
Once you have a web host, you can transfer your files to the server with an FTP client like FileZilla. That's a program that connects directly to the server and allows you to browse, download and upload files to and from the server. You might also be able to SSH into the server and directly edit the files on that machine.

Keep learning

HTML and CSS are constantly changing, because browsers release improvements so often and the web development community is an active one. One of our favorite ways to keep up-to-date is to subscribe to Frontend Focus, a newsletter with links to articles and demos. Of course, whenever you learn something new, you should try it out to really understand how it works.
Practice, practice, practice!

Want to join the conversation?