An abbreviation for Cascading Style Sheets, CSS is the de-facto standard for styling webpages and making them look more than just stunning



Course Duration

5 hrs 55 mins








  • HTML

    CSS is merely a language used to beautify existing HTML content. Likewise, needless to say, knowledge of HTML is assumed.

Course overview

CSS or Cascading Style Sheets, is a styling markup language used to style and design web pages. It works by giving properties to HTML elements and different values to the properties to style the elements in different ways. CSS is the de-facto standard for styling web pages. If you want to design for the web, you have to learn CSS! But even if you don't have to design for the web, you can still learn CSS.

It is a whole lot of fun, teaching you a bit of designing itself and making you seriously love web development!

Learning outcomes

  1. CSS fundamentals including properties, values, rules, declarations, comments and stylesheets. In additional to this we'll also be looking over selectors, combinators and some rules of CSS style application to elements.
  2. How to work with text in HTML and apply colors to it using multiple properties and their respective values, in addition to working with CSS backgrounds.
  3. How to layout content in different ways on a web page to meet one's needs. Moreover, you'll also learn how to deal with common problems in CSS designs including overflows.
  4. How to resize elements to given dimensions and consequently get them to either fill up the viewport's height, width or any element's height or width and so on.
  5. How to work with the triad of tranformations, transitions and animations in making endless effects, and solve some design problems.

Table of contents

  1. Foundation

    In this unit we will begin with an introduction to CSS, a brief overview and background to the topic. Then we will move over to the basic of the language; where is it written, how to write it, the syntax and rules of writing CSS and so on. We will see what are properties and how can they be used to do different things with HTML elements. Lastly we'll consider selectors and combinators in CSS together with detailed concepts like style inheritance and precedence.
  2. Color

    In this unit we will be looking over how to represent colors in computer, particularly in CSS. We will examine colornames, the hexadecimal notation, and other functions to denote color values. The concept of alpha filtering and opacity is also what you'll learn in this unit.
  3. Text

    It would be truly wrong to say that websites are least comprised of text - if this was the case then what would be left in websites? In this chapter we will take a look at how to style text on web pages in different ways for instance making them small or large, thick or thin, italicised or underlined and so on.
  4. Backgrounds

    Being able to play with the backgrounds of elements is a good thing to have. In this unit we'll discover numerous concepts involved in backgrounds including background colors; background images, their styling; gradients and so on.
  5. Strokes

    You'll learn how to apply strokes to HTML elements using borders and outlines. We'll consider different sides of an element and how to play with borders on each of them. Also we'll consider how to give strokes to an element that don't somewhat count in its final dimensions using outlines.
  6. Spacing

    A design is meaningless if it doesn't employ the idea of spacing. In this unit you'll be introduced to the two concepts of spacing in CSS, namely margins (outer-spacing of an element) and padding (inner-spacing of an element).
  7. Layout

    A web page's layout is an essential part to designing any website. This is the case with CSS too - it has literally got a ton full of concepts revolving around placement and positioning of elements that make up a web page's structure and layout.
  8. Overflows

    Times can come when things go out of the bounds of an element - we call this an overflow. In this unit we will see what can cause an overflow, how to rectify it and that what is the idea of text wrapping in CSS.
  9. Dimensions

    How to increase the width or height of an element; how to set up bounds on these, such as a maximum height or a minimum width; how to make the CSS interpreter apply dimensions to a specific box; all these questions have their answers in this very unit.
  10. Transformations

    In this unit you'll learn how what are CSS tranformations and how they can be used to do endless jaw-dropping things on the web. Particularly we'll look over translating, rotating, skewing and scaling HTML elements using functions provided by CSS.
  11. 3D Transformations

    After learning about CSS 2D transforms, the next logical step is to get familiar with CSS 3D transforms. In this unit, we start by exploring the intricate concept of perspective before diving into unraveling the different functions used to perform 3D transformations, for e.g. translateZ(), rotateX(), rotateY(), and so on.
  12. Transitions

    Want to get an element smoothly go from one style to another? You need a CSS transition. In this unit we will discover the whats and how-tos for CSS transitions. We'll see how to time, delay and specificy properties for transitions, in addition to learning how timing-functions work to speed up or slow down transitions with respect to time.
  13. Animations

    In this unit you'll be introduced to the idea of CSS animations; how they differ from transitions and how can they be used to do even more of endless things as compared to transitions. We'll see what are keyframes in animations and how they serve to run an animation.


  • What if I get stuck somewhere in the course?

    If you're having a hard time understanding a given concept in the course, feel free to reach out to me at bilal@codeguage.com, describing the issue you're facing. I'll try my level best to help you out.

  • Some important topics are missing from the course. Why is that so?

    The courses on Codeguage are released while they are still under construction so that learners can get early previews. As I continuously work on adding more and more content to the courses, if a given topic isn't covered today, there's a high chance that it's already under way and will show up very soon. You can follow Codeguage on Twitter to be updated with all the latest content releases.

  • How can I ask any general questions related to the course's content?

    Write to me at bilal@codeguage.com.

It's different the 'Codeguage way'


When you have a robust foundation, with the fundamentals crystal-clear, your mind will intrinsically get that ability to handle any kind and level of complexity.


With a comprehensive resource that covers literally every aspect of a given topic, your time is spent practicing the learnt concepts, not resolving confusions and basic questions.


Coding is a detailed craft. Likewise, any resource trying to teach it in any way should be detailed as well, or else people will have to acquire those integral details from different places in a fragmented and haphazard manner.


Structure is vital to an intuitive learning experience of a given resource. Without structure, the right concepts get introduced at the wrong times, ultimately leading to confusion and breaking the desired flow of comprehension.

Let's start the learning!