CSS - The Complete Guide 2020 (incl. Flexbox, Grid & Sass)
- Description
- Curriculum
- FAQ
- Reviews
CSS – short for Cascading Style Sheets – is a “programming language” you use to turn your raw HTML pages into real beautiful websites.
This course covers it all – we start at the very basics (What is CSS? How does it work? How do you use it)? and gradually dive in deeper and deeper. And we do this by showing both practical examples as well as the theory behind it.
Getting started with CSS might look easy but there actually is a lot of depth to CSS – hence this course provides different “Tracks” or “Entry points” to exactly meet your demands and reflect you current knowledge level:
-
The Basics Track: Start from scratch, learn CSS from the ground up. You start with lecture 1 and simply follow through to the end.
-
The Advanced Track: You already know the CSS basics, you know what selectors are and how it works but you want to dive in deeper and learn some advanced features and usages.
-
The Expert Track: You got the advanced knowledge, too, but you want to dive into things like Flexbox, CSS Grid, CSS Variables or Sass. This track is for you.
Of course this course offers the theory and practical examples – we’ll build an entire real course project throughout the course – but there also are multiple assignments, quizzes and challenges for you to practice individual concepts taught throughout the course.
Talking about the course project – we’ll build the frontend (no backend) of a fictional web hosting company. We’ll have a starting screen which has different sections, we got a responsive design with an animated side-drawer, we got modals and forms and in general we got a lot of CSS animations, font styles and more!
Here’s what’s inside the course in detail – this is all also applied to the mentioned course project:
-
The basics about selectors, combinators and how you set up styling rules in general
-
Properties, values and decalarations
-
How specifity and inheritance work and why it’s called “Cascading” Style Sheets
-
Important theoretical concepts like the “Box Model”
-
How the default position of elements can be changed
-
Styling backgrounds (e.g. gradients) and images
-
Which units and dimensions you typically use in CSS (px, rem, % and more)
-
How JavaScript and CSS interact
-
Responsive design and what “Mobile First” means
-
Styling forms and form inputs
-
Working with text, fonts and text styles
-
Flexbox! How it works and how to use it
-
Using the CSS Grid and how it differs from Flexbox
-
Transforming and animating HTML elements with the help of CSS
-
Writing future-proof CSS with features like CSS variables or best-practice class names
-
Using Sass and what it actually is all about
Is this course for you?
It’s for you if …
-
you started with learning web development and you want to build more beautiful websites
-
you already know CSS but want to dive deeper
-
you’re using CSS in a trial-and-error manner and want to change this (you should!)
You might come back later if …
-
you’re an absolute CSS pro and you know the CSS working group drafts by heart
-
you’re a backend-only developer (Node, PHP, NO HTML or frontend JavaScript)
-
you’re a total newcomer to web development and you don’t know the basics about HTML
If that sounds good to you, we’d be more than happy to welcome you in this course!
-
1IntroductionVideo lesson
Let me introduce you to this course and to what you'll learn inside of it.
-
2What is CSS?Video lesson
Let's start with the most important question first: What is CSS and why do we need it on our websites?
-
3Join our Online Learning CommunityText lesson
-
4CSS History, Present & FutureVideo lesson
CSS constantly evolves so let me give you a quick overview of the past and the current development of CSS!
-
5Course OutlineVideo lesson
You now know what CSS is but what does the course actually offer you? This lecture will answer that question.
-
6Choose Your TrackText lesson
As noted in the course outline, this course offers multiple tracks. Here's how you reach your favorite one.
-
7Course PrerequisitesVideo lesson
You know what this courses offers, but what do you need to succeed in this course? Let's have a look at the prerequisites.
-
8How To Get The Most Out Of This CourseVideo lesson
There's more than one way of taking a course. Let's find out how you can get the most out of this course in this lecture.
-
9Recommended ToolsVideo lesson
Which tools are we using throughout this course? Time to have a quick look at our code editor and the recommended browser.
-
10Where to Find the Source CodeText lesson
Find out where you can get the course source code.
-
11Useful Resources & LinksText lesson
Attached to this lecture, you find the module source code. Inside of the lecture, you can find some helpful links.
-
12Module IntroductionVideo lesson
Let me introduce you to this module and to what you'll learn inside of it.
-
13Understanding the Course Project SetupVideo lesson
This is a hands-on course, so we will learn CSS in practice. Time to take a closer look at the starting setup for our course project!
-
14Adding CSS to our Project with Inline StylesVideo lesson
We have an index.html file, but how can we add CSS now? Let me show you inline styles and how these allow us to change the look of our website!
-
15Understanding the <style> Tag & Creating a .css FileVideo lesson
We learned that inline styles are probably not the best way to add CSS code. So let's have a look at two other ways to achieve this and also explain which approach we will follow throughout the course.
-
16Applying Additional Styles & Importing Google FontsVideo lesson
We added CSS and applied some basic styling, but so far the same style is applied to all elements. Time to change that, so let's understand how we can select a specific element and add styles to it. Additionally, we'll import fonts using Google Fonts.
-
17Theory Time - SelectorsVideo lesson
We learned how to select elements, but we probably need more selectors to style our website individually. Thankfully, we do have more selectors available in CSS, so let's understand classes, IDs and attribute selectors!
-
18Understanding the "Cascading" Style & SpecificityVideo lesson
Our website keeps growing, but why are some styles applied and why is this not true for others? Turns out that there are two important concepts that are mainly responsible for that: The "Cascading" nature of CSS and Specificity. But what is the idea behind these?
-
19Understanding InheritanceVideo lesson
We understood Specificity so the general styling logic is clear now. Unfortunately not, there is one additional core concept we definitely have to understand: Inheritance. Time to add this to our project and to understand it in this video!
-
20Adding CombinatorsVideo lesson
For the styling of a website it is very important to define the look of the different parts of the website individually, because we definitely do not want our website to have the same style all over. Combinators helps us to achieve that.
-
21Theory Time - CombinatorsVideo lesson
We added the descendant combinator, but there are more combinators available in CSS. Time to dive into these in this theory lecture.
-
22Summarizing Properties & SelectorsVideo lesson
We learned a lot about the CSS core concepts in this module. Let me quickly summarize what we learned so far about selectors, properties and values!
-
23Selectors & CombinatorsQuiz
Do you know how to work with all these selectors and combinators?
-
24Time to Practice - The BasicsText lesson
-
25Wrap UpVideo lesson
Let me wrap this module up and summarize what you learned thus far.
-
26Useful Resources & LinksText lesson
Attached to this lecture, you find the module source code. Inside of the lecture, you can find some helpful links.
-
27Module IntroductionVideo lesson
Let me introduce you to this module and to what you'll learn inside of it.
-
28Introducing the CSS Box ModelVideo lesson
One of the most important concepts to understand is the way CSS interacts with elements in HTML. This concept is called the box model, so let's see if we can find such a box in our project!
-
29Understanding the Box ModelVideo lesson
Content, padding, border, margin - we found and understood these parts of the box model. Let's now take a closer look at it and also understand the box model concept in connection with parent and child elements.
-
30Understanding Margin Collapsing and Removing Default MarginsVideo lesson
Why could we observe overlapping margins between two elements? Let's understand why margin collapsing causes this behaviour and how we can remove the default margin from the <body>.
-
31Deep Dive on "Margin Collapsing"Text lesson
Margins of elements can behave unexpectedly - here's a deep dive on the phenomena.
-
32Theory Time - Working with Shorthand PropertiesVideo lesson
Theory time! Throughout this course we already applied a lot of properties. Turns out that we can combine multiple properties in a single one by using a shorthand. Let's understand these shorthands in this video!
-
33Applying Shorthands in PracticeVideo lesson
Shorthands seem to make writing CSS code a lot easier. Let's try it out and apply some in practice in our project!
-
34Diving Into the Height & Width PropertiesVideo lesson
Styling our website also requires to define the size of our elements. In this video, we will apply the "height" and "width" properties and see how we can use these to change the box size according to our needs.
-
35Understanding Box SizingVideo lesson
We changed the "height" and the "width", but what was actually changed? Let's dive into the "box-sizing" property and also learn, how we can use this property to change the default behaviour of the "height" and "width" properties.
-
36Adding the Header to our ProjectVideo lesson
Let's apply what we learned so far and dive deeper into our project. In this video, it's time to work on the header!
-
37Understanding the Display PropertyVideo lesson
We have two types of elements in HTML - block-level and inline. But is there a way to change the default behaviour of these elements? Turns out it is, so let's find out how we can achieve this and why this might be helpful in certain situations.
-
38display: none vs visibility: hiddenText lesson
There's more than one way of hiding elements on the page. Let's explore the differences between display: none; and visibility: hidden.
-
39HTML Refresher: Block-level vs Inline ElementsText lesson
It's not really a CSS topic (though it's related to it) but it's super important to know. The difference between block-level and inline elements.
-
40Applying the Display Property & Styling our Navigation BarVideo lesson
After we understood the "display" property it's now time to style our navigation bar. For that we'll also use the advantages of the "inline-block" value of this property.
-
41Understanding an Unexpected "inline-block" BehaviourVideo lesson
"inline-block" is a really helpful value, but there is one specific behaviour which can cause problems in practice. Let me show you which problem this is and how you can easily solve it.
-
42Working with "text-decoration" & "vertical-align"Video lesson
Let's continue the work in our project and improve the styling of our navigation. For that, we will style links with "text-decoration" and align elements with "vertical-align".
-
43Styling Anchor TagsVideo lesson
Styling links is very important as every website contain such. The default styling is not the most beautiful one though, so let's find out how we can improve that.
-
44Adding Pseudo ClassesVideo lesson
Pseudo classes are a big help to improve the user experience on our website. Why don't we take the chance and apply some pseudo-classes in our project?
-
45Theory Time - Pseudo Classes & Pseudo ElementsVideo lesson
Time to dive into the theory. We already applied pseudo classes, but which additional values are available and what is the difference between a pseudo class and a pseudo-element? Let's find the answers in this video!
-
46Grouping RulesVideo lesson
Sometimes the same rules should be applied to different selectors. Turns out we can avoid repeating these rules again and again by grouping them. Let me show you how this works.
-
47Working with "font-weight" & "border"Video lesson
We constantly improve the look of our website, so let's use "font-weight" to change the default font style of selected elements. In addition to that, it's also time to add some borders.
-
48Adding & Styling a CTA-ButtonVideo lesson
Until now we only have list items in our navigation bar. Wouldn't it be great to have a special CTA-button in a different style? I think it would, so let's add one in this video.
-
49Adding a Background Image to our ProjectVideo lesson
The red block level element in the background is ok, but I think a real background image definitely would improve the user experience. Let's learn how we can easily add such an image in this video!
-
50Properties Worth to RememberVideo lesson
Puh, we worked with a lot of properties so far. Of course we don't have to remember every single property, but you will probably use some properties a lot. This short list will help you remembering these.
-
51Time to Practice - Diving Deeper into CSSText lesson
-
52Wrap UpVideo lesson
Let me wrap this module up and summarize what you learned thus far.
-
53Useful Resources & LinksText lesson
Attached to this lecture, you find the module source code. Inside of the lecture, you can find some helpful links.
-
54Module IntroductionVideo lesson
Let me introduce you to this module and what you'll learn in it.
-
55Using Multiple CSS Classes & Combined SelectorsVideo lesson
There are a couple of things we can do with CSS classes and selectors in general.
-
56Classes or IDs?Video lesson
Besides class selectors, we can use ID selectors, tag selectors etc. But which one should you use?
-
57(Not) using !importantVideo lesson
In very, very, very rare cases, you might need to force a certain declaration to overwrite the others, even though it normally wouldn't. Here comes !important.
-
58Selecting the Opposite with :not()Video lesson
Thus far, we always set our rules up to select certain elements. You can also set up rules that DON'T select something.
-
59CSS & Browser SupportVideo lesson
Not all CSS features are supported by all browsers. This lecture explains how you find out what is supported and what's not.
-
60Wrap UpVideo lesson
Let me wrap this module up and summarize what we learned thus far.
-
61Rounding up the BasicsQuiz
We got the very basics of CSS covered. Time to round it up and check if you got them down.
-
62Useful Resources & LinksText lesson
Attached to this lecture, you find the module resources. In the lecture, you find some helpful links.
-
63Module IntroductionVideo lesson
Let me introduce you to this module and to what you'll learn inside of it.
-
64Adding Style to our PlansVideo lesson
Our page gets more and more beautiful, but there is still a lot of content and styling missing. So let's add our different hosting plans and some basic styling in this video!
-
65Working on the Recommended PlanVideo lesson
We want our users to focus onto the recommended plan. Let's use our CSS knowledge to highlight this plan!
-
66Styling the Badge with "border-radius"Video lesson
The badge on the recommended plan doesn't stand out so far. Time to add some styling to it, to make clear that this is the plan to choose!
-
67Styling our ListVideo lesson
All our plans include lists which present the features of the corresponding plan. The bullet points are quite ugly though, so let's remove these and improve the look of our lists!
-
68Working on the Title and the Price of our PackagesVideo lesson
Let's continue with the title and the price presented on our plans. So far these look pretty unspectacular, time to change that!
-
69Improving our Action ButtonVideo lesson
The action button at the bottom of each box will redirect the user to the plan purchasing page. We want to make sure that our users click these buttons, so some nice button style might be a good idea.
-
70Understanding OutlinesVideo lesson
We styled our buttons, but if we hover over these we still see an additional blue outline. This is automatically added to the element and definitely something we don't want to be displayed. Let's learn how we can remove it in this video.
-
71Presenting the Core Features to the UserVideo lesson
Time to add another (unstyled) section, which presents the core advantages of our hosting service to the user!
-
72Styling the Headline of the Core Features SectionVideo lesson
Let's start styling the new section! A good starting point probably is the headline and the background!
-
73Preparing the Content of the Key Feature AreaVideo lesson
Time to style the list which includes our core website features. As these are presented as list items, we can apply our previous knowledge to change the list style. Additionally, we should align the features.
-
74Adding the FooterVideo lesson
We reached the end of our starting page - time to add a footer. Let's learn how we can easily add one in this video!
-
75What we Achieved so FarVideo lesson
We finished (at least partially) our starting page. So let's think about what we achieved so far and how we can continue. Because one page probably is not enough...
-
76Adding the Packages PageVideo lesson
Time to add more content, this time for the packages page. We know how this works, so let's add the HTML code and apply some basic styling to get started.
-
77Your ChallengeVideo lesson
Now it's your turn! You learned a lot so far, so let's take the chance and practice what we learned. Style the page on your own and try to achieve the result shown in this video!
-
78Styling the LinksVideo lesson
How did I solve it? Let me show you my solution in this video and let's start with the styling of our links.
-
79Styling our Package BoxesVideo lesson
The links look fine, but the different plans also need individual styles. Time to add these in this video!
-
80Adding "float" to our PackageVideo lesson
Until now the plans are displayed according to the document flow, but we would prefer to display one plan aligned to the right part of the page. How could we achieve this?
-
81Fixing the Hover EffectVideo lesson
With "float" being applied, the free plan is positioned correctly, but the hover effect doesn't work correctly any more. Let me show you how to easily fix that in this video.
-
82Adding the Final TouchesVideo lesson
This was a lot of work, but we now finished two pages - great job! Let's fix some minor issues before we dive deeper into positioning in the next module to further improve the look of our website!
-
83Useful Resources & LinksText lesson
Attached to this lecture, you find the module source code. Inside of the lecture, you can find some helpful links.
External Links May Contain Affiliate Links read more