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.
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."
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.
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."
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.
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...).
In the past web designer's were limited to a small handful of fonts, but in today's web we are free to use any font we desire thanks to "@font-face" technology.
My favorite free font resources are Google Fonts and Font Squirrel.
CSS Sprites allow our pages to load faster by combining many different graphics into a single image file. Many of the world's most popular websites use this technique.
The "transform" property can be used to manipulate the appearance of elements. In this lesson we learn about rotate, scale, skew, and positioning elements.
For extra credit you can explore the possibilities of 3D transforms. We don't delve into 3D transforms in this lesson because the topic demands its own five hour course but if you are interested in learning about 3D effects in the web browser the brilliant David DeSandro has created a freely-available must-read guide!
CSS animations allow us to add movement to any element we choose. In this lesson we learn the essentials of controlling how and when elements move.
If you're looking for inspiration regarding what types of animation / "fade-in" effects you can create or use be sure to visit the brilliant Dan Eden's "Animate.css" demo page.
In this lesson we begin to learn what JavaScript is and what it is typically used for. Even though learning how to write JavaScript code is outside the scope of this course we can still leverage existing JavaScript solutions to add new functionality to our pages.
In particular, this lesson showcases the creation of a slideshow. In the lesson we make use of the excellent "Cycle2" script written by Mike Alsup. You can find the official Cycle2 documentation page here.
Be sure to download the .zip file attached to this lesson to dissect and analyze things for yourself.
Quick note about website speed: in this lesson we include JavaScript files in the <head> section of our HTML. While this location may be simple to remember we can achieve better performance by placing JS directly before our page’s closing <body> element.
In this lesson we begin to learn what JavaScript is and what it is typically used for. Even though learning how to write JavaScript code is outside the scope of this course we can still leverage existing JavaScript solutions to add new functionality to our pages.
In particular, this lesson showcases the creation of a slideshow. In the lesson we make use of the excellent "Cycle2" script written by Mike Alsup. You can find the official Cycle2 documentation page here.
Be sure to download the .zip file attached to this lesson to dissect and analyze things for yourself.
Quick note about website speed: in this lesson we include JavaScript files in the <head> section of our HTML. While this location may be simple to remember we can achieve better performance by placing JS directly before our page’s closing <body> element.
In this lesson we learn how to initially hide bits of content and then reveal that content later by clicking / tapping on a trigger element.
Here is a link to the declarativeToggle download & documentation page.
As always, you can download the .zip file associated with this lecture to grab a copy of the finished product.
Quick note about website speed: in this lesson we include JavaScript files in the <head> section of our HTML. While this location may be simple to remember we can achieve better performance by placing JS directly before our page’s closing <body> element.
In this lesson we learn how to open images in a modal window, and also how to align thumbnail images in a strict grid.
Here is a link to the Lightbox package we leverage during the lesson.
As always, you can download the .zip associated with this lecture to grab the finished product.
Quick note about website speed: in this lesson we include JavaScript files in the <head> section of our HTML. While this location may be simple to remember we can achieve better performance by placing JS directly before our page’s closing <body> element.
We continue to learn about Sass by reviewing Mixins and operators.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.