
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Master HTML5 and CSS from the ground up, learn real-world best practices, and build responsive, semantic web pages with media, CSS3 effects, Sass, and support older browsers.
Learn to build a real-world website from scratch by creating pages, adding content, color, layout, animation, and interactive elements, then publish publicly via GitHub, starting with HTML.
Learn how HTML powers web pages and why it's the first language for designers, with a split course teaching HTML first, then CSS, to build professional web skills.
Learn how html powers web pages by creating a simple page with h1, h2, and p elements, save as index.html, and view in a browser to see semantic content.
Start coding quickly with code pen, a browser-based editor that shows real-time HTML and CSS previews with no sign-up, and follow along demos to prepare for a true text editor.
Create your first HTML page by writing a heading in a plain text file, save it as .html, and load it in a browser to view.
Create a bulleted list and nest HTML elements inside one another using UL and LI, exploring ancestry and nesting to build well-structured, semantic HTML.
Learn to link pages using HTML anchors and the href attribute, building a two-page mini site and mastering how attributes enable navigation.
In this lesson we learn how to insert an image into a webpage. If you want to edit or resize an image before placing it on your webpage and you do not have access to Adobe Photoshop I recommend the free image editing software named GIMP.
In this lesson we learn about the "<audio>" element which allows us to include audio clips on our pages. Download the supplementary material .zip file for a working demo of the audio element.
In this lesson we learn about the "<video>" element which allows us to natively include video clips on our pages. However, we learn that there are several factors which make including video on our pages without the help of third party services quite tricky.
Explore vector graphics vs raster images, learn how to create and export SVGs in figma, and embed scalable vector graphics into web pages for crisp displays.
Explore how heading elements create structure and hierarchy in web pages, using h1 to h6 to organize content, with a printed-page analogy to understand sections and readability.
Learn to choose the right list type to describe content, focusing on unordered, ordered, and description lists. Build clean, semantically rich lists with ul, ol, and dl usage examples.
Learn how to emphasize text with strong and em tags, distinguish semantic meaning from presentational italics, and why prefer strong over b and em over i for accessibility.
For a larger list of available HTML special characters visit this Wikipedia page.
Also please note that in the video lesson I incorrectly referred to the "&" symbol as "ampersands" (plural). In this case the correct phrase would be simply "ampersand."
Explore semantic structural elements—header, footer, article, and aside—and learn to wrap content for well-structured html pages. Apply these elements to organize headers, footers, and side content.
Learn to use the nav element to build a primary navigation with an unordered list of links (home, about, contact) in the header, ensuring consistent cross-page navigation.
Learn how div and span serve as non-semantic elements for structuring and styling web pages, using div for sectioning and span for inline styling with classes.
Learn how HTML comments serve as in-code documentation, not rendered by the browser, to explain structure. See the <!-- and --> syntax and practice ending divs with comments for clarity.
Discover how the section element creates semantic structure by dividing content into chapters and subsections. Nest sections to mirror heading hierarchy and improve accessibility and CSS targeting.
Learn to build an HTML form from scratch with text inputs for first and last name, accessible labels tied by for and id, and a submit button with name attributes.
Explore different input types for forms, such as email and tel, to improve validation and on-screen keyboards, and learn to use labels and textarea elements.
Learn to create select dropdowns, radio inputs, and checkboxes for user choices, choosing the right tool for single or multiple selections.
Create a data table in HTML using table, tr, td, and th, and organize rows with thead, tbody, and tfoot while labeling headers for clarity and semantic structure.
Discover why not using tables for layout is essential and how CSS handles layout and design in web design.
Discover how CSS transforms web pages by styling with colors and layouts, linking a stylesheet, and using selectors, declarations, properties, and values to control presentation.
Explore type selectors, descendant selectors, and class selectors to target elements across the page, and learn how the highlight class enables reusable, context-aware styling.
Explore the cascade by examining browser defaults, inheritance, and specificity, and learn how to override with style sheets, including descendant and class selectors.
Master the CSS box model by treating each element as a box and using padding, border, and margin to control width, height, and layout, including box sizing border box.
Learn how CSS floats pull images or text left or right to wrap content, and how modern flexbox replaces floats for two-column layouts while preserving prior float techniques.
Design a two-column page layout with floats by building a main area and a sidebar, setting widths and using a clear fix to manage floated content.
Let's apply what we've learned about CSS so far to make our page easier on the eyes.
If you are looking for a color picker I recommend the free Adobe Kuler website / tool. Not only can you click on a circle in the color wheel to find color codes, but Kuler will also provide additional complimentary colors.
Style the header navigation menu with HTML and CSS to create a horizontal menu bar by removing bullets, floating items, and adding hover effects.
Learn to style data tables with CSS, applying left header alignment, borders and padding, and use zebra striping, 100% width, and nth-child selectors.
In this lesson we learn how to customize the appearance of HTML forms. The lesson mentions third party CSS libraries you can leverage to tackle cross browser styling issues. Here are some of the most popular options in the webDev community:
Note that Formalize is strictly focused on forms, while Normalize helps level the playing field for all elements across all browsers (e.g. h1-h6, p, table, etc...).
You can launch a new career in web development today by learning HTML & CSS. You don't need a computer science degree or expensive software. All you need is a computer, a bit of time, a lot of determination, and a teacher you trust. I've taught HTML and CSS to countless coworkers and held training sessions for fortune 100 companies. I am that teacher you can trust.
Don't limit yourself by creating websites with some cheesy “site-builder" tool. This course teaches you how to take 100% control over your webpages by using the same concepts that every professional website is created with.
This course does not assume any prior experience. We start at square one and learn together bit by bit. By the end of the course you will have created (by hand) a website that looks great on phones, tablets, laptops, and desktops alike.
In the summer of 2020 the course has received a new section where we push our website live up onto the web using the free GitHub Pages service; this means you'll be able to share a link to what you've created with your friends, family, colleagues and the world!
I have helped over 100,000 students and have received the following feedback:
“…A fantastic course… clear, definite and engaging."
“…Presentation is concise without being tedious… you honestly feel that you have a thorough understanding of the subject."
“…[Brad] explained the process. Not memorize this or that, he explained the process. If you're looking to take a course to understand the foundations of creating websites, look no further."
“Brad definitely has some of the best techniques to embed the lesson into your mind… hands down these are the best tutorials I have had the opportunity to view."
“I found this course really helpful and I highly recommend it… all things you learn are seen in action instantly."
“Brad has put together a great foundation for any body wishing to get a good understanding with front end web-development."
“…I would definitely recommend this course to most folks I know who want to learn web design."