4.72 sur 5
4.72

CSS – Le guide complet 2022 (Avec Flexbox, Grid & Sass)

Apprenez le CSS pour la première fois ou perfectionnez vos compétences en CSS et plongez encore plus profondément. Chaque développeur web doit connaître le CSS.
Découvrez pourquoi le CSS est incroyable, pas quelque chose dont il faut avoir peur !
Utilisez les fonctionnalités CSS de base et avancées
Flexbox, grille, animations, transitions, polices, requêtes multimédias et bien plus encore - tout est inclus !
Comprendre les concepts et la théorie derrière CSS et certaines fonctionnalités CSS
Créez de beaux sites Web qui ne contiennent pas seulement un excellent contenu, mais qui ont aussi une belle apparence

Rejoignez ce cours CSS à succès pour tout savoir sur CSS de fond en comble, en profondeur !

CSS – abréviation de Cascading Style Sheets – est un “langage de programmation” que vous utilisez pour transformer vos pages HTML brutes en de véritables sites Web magnifiques.

Ce cours couvre tout – nous commençons par les bases (Qu’est-ce que CSS ? Comment ça marche ? Comment l’utilisez-vous) ? et plongeons progressivement de plus en plus profondément. Et nous le faisons en montrant à la fois des exemples pratiques ainsi que la théorie sous-jacente.

Commencer avec CSS peut sembler facile, mais il y a en fait beaucoup de profondeur dans CSS – par conséquent, ce cours propose différentes “Pistes” ou “Points d’entrée” pour répondre exactement à vos demandes et reflèter votre niveau de connaissances actuel :

  • The Basics Track : Partez de zéro, apprenez le CSS à partir de zéro. Vous commencez par la leçon 1 et suivez simplement jusqu’à la fin.
  • La voie avancée : vous connaissez déjà les bases du CSS, vous savez ce que sont les sélecteurs et comment cela fonctionne, mais vous souhaitez approfondir et apprendre certaines fonctionnalités et utilisations avancées.
  • La piste expert : Vous Vous avez également des connaissances avancées, mais vous souhaitez vous plonger dans des éléments tels que Flexbox, CSS Grid, CSS Variables ou Sass. Cette piste est pour vous.

Bien sûr, ce cours offre la théorie et des exemples pratiques – nous allons construire un projet de cours réel complet tout au long du cours – mais il y a aussi plusieurs devoirs, questionnaires et défis pour vous permettre de mettre en pratique les concepts individuels enseignés tout au long du cours.

Parlons du projet de cours – nous Je construirai le frontend (pas de backend) d’une société d’hébergement Web fictive. Nous aurons un écran de démarrage qui a différentes sections, nous avons un design réactif avec un tiroir latéral animé, nous avons des modaux et des formulaires et en général nous avons beaucoup d’animations CSS , des styles de police et plus                                                                                                                                  , les combinateurs et la configuration des règles de style en général

  • Propriétés, valeurs et décalarations
  • Fonctionnement de la spécificité et de l’héritage&nbsp ; et pourquoi il s’appelle “Cascading” Style Sheets
  • Concepts théoriques importants comme le “Box Model”
  • Comment la position par défaut des éléments peut être modifiée
  • Styles d’arrière-plans (par exemple, dégradés) et images
  • Quelles unités et dimensions que vous utilisez généralement dans CSS (px, rem, % et plus)
  • Comment JavaScript et CSS interagissent
  • Responsive design et wha t “Mobile First” signifie
  • Styliser les formulaires et les entrées de formulaire
  • Travailler avec du texte, des polices et du texte styles
  • Flexbox ! Comment ça marche et comment l’utiliser
  • Utilisation de la grille CSS et en quoi elle diffère de Flexbox
  • Transformer et animer des éléments HTML à l’aide de CSS
  • Écrire du CSS évolutif avec des fonctionnalités telles que Variables CSS ou noms de classe recommandés
  • Utilisation de Sass et de quoi il s’agit réellement

Ce cours est-il pour vous ?

C’est pour vous si …

  • vous avez commencé par apprendre le web développement et vous voulez créer de plus beaux sites Web
  • vous connaissez déjà CSS mais vous voulez approfondir
  • vous êtes en utilisant CSS par essais et erreurs et que vous souhaitez changer cela (vous devriez !)

Vous pourriez revenir plus tard si …

  • vous êtes un vrai pro du CSS et d vous connaissez par cœur les brouillons du groupe de travail CSS
  • vous êtes un développeur backend uniquement (Node, PHP, NO HTML ou JavaScript frontend)
  • vous êtes un nouveau venu dans le développement Web et vous ne connaissez pas les bases du HTML

Si cela vous semble bien à vous, nous serions plus qu’heureux de vous accueillir dans ce cours !

Getting Started

1
Introduction

Let me introduce you to this course and to what you'll learn inside of it.

2
What is CSS?

Let's start with the most important question first: What is CSS and why do we need it on our websites?

3
Join our Online Learning Community
4
CSS History, Present & Future

CSS constantly evolves so let me give you a quick overview of the past and the current development of CSS!

5
Course Outline

You now know what CSS is but what does the course actually offer you? This lecture will answer that question.

6
Choose Your Track

As noted in the course outline, this course offers multiple tracks. Here's how you reach your favorite one.

7
Course Prerequisites

You know what this courses offers, but what do you need to succeed in this course? Let's have a look at the prerequisites.

8
How To Get The Most Out Of This Course

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.

9
Recommended Tools

Which tools are we using throughout this course? Time to have a quick look at our code editor and the recommended browser.

10
Where to Find the Source Code

Find out where you can get the course source code.

11
Useful Resources & Links

Attached to this lecture, you find the module source code. Inside of the lecture, you can find some helpful links.

Diving Into the Basics of CSS

1
Module Introduction

Let me introduce you to this module and to what you'll learn inside of it.

2
Understanding the Course Project Setup

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!

3
Adding CSS to our Project with Inline Styles

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!

4
Understanding the Tag & Creating a .css File

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.

5
Applying Additional Styles & Importing Google Fonts

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.

6
Theory Time - Selectors

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!

7
Understanding the "Cascading" Style & Specificity​

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?

8
Understanding Inheritance

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!

9
Adding Combinators

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.

10
Theory Time - Combinators

We added the descendant combinator, but there are more combinators available in CSS. Time to dive into these in this theory lecture.

11
Summarizing Properties & Selectors

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!

12
Selectors & Combinators

Do you know how to work with all these selectors and combinators?

13
Time to Practice - The Basics
14
Wrap Up

Let me wrap this module up and summarize what you learned thus far.

15
Useful Resources & Links

Attached to this lecture, you find the module source code. Inside of the lecture, you can find some helpful links.

Diving Deeper into CSS

1
Module Introduction

Let me introduce you to this module and to what you'll learn inside of it.

2
Introducing the CSS Box Model

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!

3
Understanding the Box Model

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.

4
Understanding Margin Collapsing and Removing Default Margins

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>.

5
Deep Dive on "Margin Collapsing"

Margins of elements can behave unexpectedly - here's a deep dive on the phenomena.

6
Theory Time - Working with Shorthand Properties

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!

7
Applying Shorthands in Practice

Shorthands seem to make writing CSS code a lot easier. Let's try it out and apply some in practice in our project!

8
Diving Into the Height & Width Properties

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.

9
Understanding Box Sizing

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.

10
Adding the Header to our Project

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!

11
Understanding the Display Property

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.

12
display: none vs visibility: hidden

There's more than one way of hiding elements on the page. Let's explore the differences between display: none; and visibility: hidden.

13
HTML Refresher: Block-level vs Inline Elements

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.

14
Applying the Display Property & Styling our Navigation Bar

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.

15
Understanding an Unexpected "inline-block" Behaviour

"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.

16
Working with "text-decoration" & "vertical-align"

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".

17
Styling Anchor Tags

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.

18
Adding Pseudo Classes

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?

19
Theory Time - Pseudo Classes & Pseudo Elements

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!

20
Grouping Rules

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.

21
Working with "font-weight" & "border"

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.

22
Adding & Styling a CTA-Button

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.

23
Adding a Background Image to our Project

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!

24
Properties Worth to Remember

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.

25
Time to Practice - Diving Deeper into CSS
26
Wrap Up

Let me wrap this module up and summarize what you learned thus far.

27
Useful Resources & Links

Attached to this lecture, you find the module source code. Inside of the lecture, you can find some helpful links.

More on Selectors & CSS Features

1
Module Introduction

Let me introduce you to this module and what you'll learn in it.

2
Using Multiple CSS Classes & Combined Selectors

There are a couple of things we can do with CSS classes and selectors in general.

3
Classes or IDs?

Besides class selectors, we can use ID selectors, tag selectors etc. But which one should you use?

4
(Not) using !important

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.

5
Selecting the Opposite with :not()

Thus far, we always set our rules up to select certain elements. You can also set up rules that DON'T select something.

6
CSS & Browser Support

Not all CSS features are supported by all browsers. This lecture explains how you find out what is supported and what's not.

7
Wrap Up

Let me wrap this module up and summarize what we learned thus far.

8
Rounding up the Basics

We got the very basics of CSS covered. Time to round it up and check if you got them down.

9
Useful Resources & Links

Attached to this lecture, you find the module resources. In the lecture, you find some helpful links.

Practicing the Basics

1
Module Introduction

Let me introduce you to this module and to what you'll learn inside of it.

2
Adding Style to our Plans

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!

3
Working on the Recommended Plan

We want our users to focus onto the recommended plan. Let's use our CSS knowledge to highlight this plan!

4
Styling the Badge with "border-radius"

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!

5
Styling our List

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!

6
Working on the Title and the Price of our Packages

Let's continue with the title and the price presented on our plans. So far these look pretty unspectacular, time to change that!

7
Improving our Action Button

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.

8
Understanding Outlines

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.

9
Presenting the Core Features to the User

Time to add another (unstyled) section, which presents the core advantages of our hosting service to the user!

10
Styling the Headline of the Core Features Section

Let's start styling the new section! A good starting point probably is the headline and the background!

11
Preparing the Content of the Key Feature Area

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.

12
Adding the Footer

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!

13
What we Achieved so Far

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...

14
Adding the Packages Page

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.

15
Your Challenge

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!

16
Styling the Links

How did I solve it? Let me show you my solution in this video and let's start with the styling of our links.

17
Styling our Package Boxes

The links look fine, but the different plans also need individual styles. Time to add these in this video!

18
Adding "float" to our Package

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?

19
Fixing the Hover Effect

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.

20
Adding the Final Touches

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!

21
Useful Resources & Links

Attached to this lecture, you find the module source code. Inside of the lecture, you can find some helpful links.

Positioning Elements with CSS

1
Module Introduction

Let me introduce you to this module and to what you'll learn inside of it.

2
Why Positioning will Improve our Website

Before we dive deeper - why is positioning elements important when creating a website? Let's take a look at our website and identify potential areas of improvement for the position of our elements!

3
Understanding Positioning - The Theory

How does positioning work? Let's recap the default behaviour of elements and understand how the "position" property can be used to change the default position of elements.

4
Working with the "fixed" Value

We understood that we can apply different values to the "position" property. Let's take a closer look at the "fixed" value, understand its positioning context and the impact on the document flow it has on the element it is applied to.

5
Creating a Fixed Navigation Bar

We already have a navigation bar on our website, but as soon as we scroll down the bar disappears. Let's understand how we can stick the navigation bar to the viewport with the "fixed" value.

6
Using "position" to Add a Background Image

The navigation bar works, but we also need a background image for our Packages page. Turns out that the "fixed" value can also be very helpful is this situation, so let's find our more.

7
Understanding the Z-Index

We added the background image but the remaining elements are hidden below it. Why isn't there a property that allows us to change the element order along the z-axis? Thankfully the "z-index" does exactly that, so time to understand and apply it!

8
Adding a Badge to our Package

The "Plus" plan is the #1 choice for our customers and our recommendation. Why don't we add a badge to this package which indicates exactly what? Let me show you how the "absolute" and "relative" values work together and make the positioning of the badge a breeze!

9
Styling & Positioning our Badge with "absolute" and "relative"

We added the badge but the positioning is not perfect yet and we definitely need to add more style to it. So let's continue!

10
Diving Deeper into Relative Positioning

The "relative" value was very helpful to position the badge, but did we really understand how it works? Let's dive deeper and find out more about its positioning context and its impact on the positioning context on the element it is applied to.

11
Are you a "position" expert?

We learned a lot about the position property in this module so far. Let's now practice this knowledge in this quiz before we continue!

12
Working with "overflow" and Relative Positioning

With "relative" we can move our element without any limitations - even outside of its parent. In case this is our intention that's ok, but what if we want to make the element invisible once it leaves the parent element? Then we need "overflow"...

13
Introducing "sticky" Positioning

Time to have a look at "sticky" positioning, combining the advantages of "fixed" and "relative". How it works? Let's have a look in an example project.

14
Understanding the Stacking Context

The "z-index" allows us to define the element position along the z-axis. But we should not be able to position children of our parent above our parent's neighbours. With the Stacking Context we can easily control that.

15
Time to Practice - Positioning
16
Wrap Up

Let me wrap this module up and summarize what you learned thus far.

17
Useful Resources & Links

Attached to this lecture, you find the module source code. Inside of the lecture, you can find some helpful links.

Understanding Background Images & Images

1
Optional: Advanced Track Introduction

You already knew the CSS basics before and just wanted to enhance this knowledge? Then this is your starting point for this course, so let me give you a quick overview of what we achieved up to this point in the beginner's track!

2
Module Introduction

Let me introduce you to this module and to what you'll learn inside of it.

3
Understanding "background-size"

When working with backgrounds, we often want to change the size of background images. Learn more about the helpful background-size property.

4
Working with "background-position"

Changing the size of a background-image is nice but positioning it would also be awesome, wouldn't it? Let's dive into that topic in this module.

5
The "background" Shorthand - Theory

Now that we had a closer look at some background properties, let's explorer a shorter version of defining them.

6
Applying "background" Origin, Clip & Attachment

We got more background properties - let's explore them all!

7
Using the "background" Shorthand on our Project

With all background properties explored, it's now time to learn the final form of the background shorthand property.

8
Styling Images

We're not limited to styling background images - normal images can be styled, too.

9
Adding the Customers Page to our Website

Time to continue working on the content of our web page. In this lecture, we'll add a brand new page to it: The customers page.

10
Working on the Image Layout

With our page growing, let's now continue working on the image layout.

11
Understanding Linear Gradients

Enough about images! We can also create gradients in CSS. Let's dive into linear gradients in this lecture.

12
Applying Radial Gradients

Linear gradients aren't everything - time to explore radial ones.

13
Stacking Multiple Backgrounds

Did you know that you could stack background images in CSS? Let's take advantage of that.

14
Understanding Filters

Gradients, images - so many ways to adjust the visuals of our page. Let's add one additional feature: Filters!

15
Adding & Styling SVGs - The Basics

Thus far, we worked with bitmap images. We can also use and style (!) SVGs. Time for a first introduction.

16
Wrap Up

Let me wrap this module up and summarize what you learned thus far.

17
Useful Resources & Links

Attached to this lecture, you find the module source code. Inside of the lecture, you can find some helpful links.

Sizes & Units

1
Module Introduction

Let me introduce you to this module and to what you'll learn inside of it.

2
What's Wrong With Our Project Units?

Our website doesn't look bad and thus far we only used pixels ("px") and percentages ("%") to define the width, padding, font-size, etc. What's wrong with that approach? Let me show you why we might want to improve that...

3
Where Units Matter

Which additional units do we have and are there any core properties these can be applied to? Let's have a look in this lecture.

4
An Overview of Available Sizes & Units

So we have a lot more units to apply, but can we categorize these to get a better overview? Yes we can so time to have a look at the categories in this video!

5
Rules to Remember: Fixed Positioning & "%"

Ok, we applied the "%" unit in our project but apparently we didn't fully understand it. And why is the "position" property important again? A lot of questions, so let's find answers - starting with the "fixed" value!

6
Rules to Remember: Absolute Positioning & "%"

The "fixed" value and the viewport, we understood that. But what about "absolute", what is the containing block and how does our element behave when we apply "position: absolute"?

7
Rules to Remember: Relative / Static Positioning & "%"

Two more values left to fully understand the "%" unit. Let's dive into "relative" and "static" and see how these affect the containing block.

8
Fixing the Height 100% Issue

"%" are clear now, but why doesn't "height: 100%" work as intended? Turns out that we need a workaround to be able to inherit the height from our parent element in certain situations. Let's have a look!

9
Defining the Font Size in the Root Element

Do we have to define a specific font size in our root element (the HTML element)? Let me explain which options we have and which approach we will follow throughout this course.

10
Using "min-width/height" & "max-width/height"

Our website is not responsive yet, we'll have an entire module to understand and add responsive design. But having a first look at the "min" & "max" properties for "width" and "height" is definitely a good idea to complete our understanding of the "%" unit.

11
Working with "rem" & "em"

Time to introduce new units - "rem" & "em". These always refer to the font-size and therefore allow us to make our styling more dynamic depending on the font-size chosen by our visitors. Let me show you how this works.

12
Adding "rem" to Additional Properties

"rem" and "em" depend on the font-size but their application is not limited to this single property. Let's see how we can add "rem" to other properties than "font-size" on our website.

13
Finishing "rem"

You finished your challenge - so let's have a look at the other .css files and exchange "px" with "rem".

14
Understanding the Viewport Units "vw" &"vh"

Time to introduce the last units - "vw" and "vh" allow us to easily define the size of our element based on the viewport. Let's understand how this works and what we can do with "vmin" and "vmax".

15
Windows, Viewport Units & Scrollbars

After adding viewport units,, scrollbars are displayed on Windows machines (on Mac this is not an issue). Let me show you how to get rid of these in this article.

16
Choosing the Right Unit

Puh, these were a lot of new units, but which one should we use in which situation? Let me help you by providing some guidance in this lecture!

17
Using "auto" to Center Elements

Time for a quick tip: We already used the "auto" value throughout the course, but now it's time to take a closer look and understand why it helped us to center elements easily!

18
Cleaning Up our Code

We are almost done, let's have a final look and see if we have to clean up our code and if all units are applied correctly.

19
Wrap Up

Let me wrap this module up and summarize what you learned thus far.

20
Useful Resources & Links

Attached to this lecture, you find the module source code. Inside of the lecture, you can find some helpful links.

Working with JavaScript & CSS

1
Module Introduction

Let me introduce you to this module and to what you'll learn inside of it.

2
Adding a Modal

A modal element is a typically feature to add to a web page. It depends heavily on CSS but also on JavaScript. Learn more about how you can show and hide it via JavaScript in this module.

3
Selecting & Manipulating Styles with JavaScript

In the end, it's all about manipulating DOM element styles via JavaScript. Let's dive deeper into that in this lecture.

4
Adding an Event Listener

Often you need to change something on your page upon the occurrence of a certain event. Let's dive into that now.

5
Time to Practice - Adding Styles with JavaScript
6
Adding a Side Navigation Bar

We want to build a responsive website - for that we'll need a side menu. Time to add one - of course with help of JavaScript.

7
Opening and Closing the Hamburger Menu

The side menu shouldn't always be visible so let's connect that hamburger menu.

8
Manipulating Element Classes

What if you don't want to change the inline styles but the classes attached to an element? You can do that, too!

9
Understanding Property Notations

Time for some theory about the property syntax.

10
Cleaning Up our Code

We got some cleanup to do - let's tackle that now.

11
Wrap Up

Let me wrap this module up and summarize what you learned thus far.

12
Useful Resources & Links

Attached to this lecture, you find the module source code. Inside of the lecture, you can find some helpful links.

Making our Website Responsive

1
Module Introduction

Let me introduce you to this module and to what you'll learn inside of it.

2
Why our Project Should Become Responsive

Our website gets better and better, but we have one problem: We only worked on the styling for desktop devices. Many of our potential users might visit our site using mobile devices, so we should ensure that our site looks great for all users. To achieve this, we need to make our site responsive!

3
Understanding Hardware Pixels vs. Software Pixels

A pixel is not a pixel, sounds strange doesn't it? With the latest smartphones & tablets and their corresponding high pixel density, the traditional 96px = 1inch formula doesn't work anymore, so let's find out how we can solve this problem.

4
Comparing the Viewport Metatag (HTML) and Media Queries (CSS)

Making our website responsive requires both HTML and CSS: In HTML we need to use the "viewport" metatag, in CSS we will add media queries. Let me introduce both concepts to you in this lecture.

5
Understanding the "viewport" Metatag

We understand the basic concept of the "viewport" metatag, but which additional options do we have to control the user actions? Let's find that out in this video!

6
Designing Websites "Mobile First"

We just learned how CSS works, so styling our website "Desktop First" was the right approach. With the basics set, we should change that as "Mobile First" is the modern way to style websites. Time to do that!

7
Adding our First Media Queries

The mobile version of our background image on the starting page looks ok, but now we destroyed the desktop version. Time to understand the basic concepts of media queries and how these allow us to make our site responsive!

8
Things to Keep in Mind when Working with Media Queries

Media queries are powerful and awesome while applying them is really easy. However, there are some things that we need to know about media queries before we continue styling our website.

9
Finding the Right Breaking Points

With the incredible amount of different devices available on the market, setting the right breaking points for our media queries is a big challenge. Let me show you one way how to find a good starting point and how to avoid creating unnecessary media queries!

10
Creating the Mobile First Design for our Plans

Time to turn the design for our different plans on the starting page into a beautiful mobile style!

11
Making the Plans Responsive

We have wonderful mobile plans, but the desktop version is not displayed as intended. Time to optimize that!

12
Your Challenge

With the responsive web design basics being set, it's your turn! Make our features responsive and turn them into beautifully styled mobile and desktop versions. Let me also show you my solution in case you are not sure how to approach the problem.

13
Time to Practice - Creating a Responsive Design with Media Queries
14
Working with Logical Operators

So far our media queries were only based on one condition, but we can do more! Let's have a look at logical operators and understand how these allow us to combine multiple conditions in our media queries.

15
Improving the Customers Page

We learned a lot about responsive design, but our customers page has a lot of issues. Time to fix these to make our testimonials shine!

16
Improving the Packages Page

The packages page also needs some improvement as the look on wider screens is not the best. Time to add an additional media query to improve that!

17
Cleaning Up the Navigation Bar

Our navigation bar looks fine, but the calculation logic of our logo height is not perfect. Let's make our code leaner and clean up the navigation bar!

18
Positioning our Footer Correctly

We almost did it, but to make our site totally responsive, we need to fix the position of our footer. At the moment it is positioned in the somewhere in the middle of the page, so let's see how we can position the footer at its intended position: At the bottom of each page.

19
Wrap Up

Let me wrap this module up and summarize what you learned thus far.

20
Useful Resources & Links

Attached to this lecture, you find the module source code. Inside of the lecture, you can find some helpful links.

Adding & Styling Forms

1
Module Introduction

Let me introduce you to this module and to what you'll learn inside of it.

2
Adding the Unstyled Form

Time to add the last page of our website - the page which will actually hold the form we need.

3
Page Initialization

Let's get all set regarding our newly added page now.

4
Understanding Advanced Attribute Selectors

There's one feature we didn't have a closer look at yet: Advanced attribute selectors. Time to change that.

5
Working on the General Layout

With the newly gained knowledge, let's dive into the form and start styling it.

6
Restyling the Form Elements

Let's continue our work on the form.

7
Styling the Checkbox

Thus far, we focused on "normal" form inputs - let's now style a more fancy one: The checkbox element.

8
Providing Validation Feedback

Styling form elements is only one part of styling forms. You also need to ensure that you provide good form validity feedback to your users. Time to dive into that.

9
Styling the Signup Button

What would a form be without a button? Not that useful, hence you should also know how to style such buttons.

10
Fixing a Broken Link

We got a tiny error in our web page - let's fix it.

11
Wrap Up

Let me wrap this module up and summarize what you learned thus far.

12
Useful Resources & Links

Attached to this lecture, you find the module source code. Inside of the lecture, you can find some helpful links.

Working with Text and Fonts

1
Module Introduction

Let me introduce you to this module and to what you'll learn inside of it.

2
Comparing Generic Families & Font Families

Before we dive into fonts we have to understood the general concepts behind them. So let's have a look at generic families and font families in this lecture.

3
Understanding the Browser Settings

The browser is able to apply default settings in case we did not specify a font family in our code. Let's take a closer look at these settings.

4
Using the Default Font Families

We had a look at the browser settings, so let's now see how the browser uses the default font families in practice in our project website.

5
Understanding the "font-family" Syntax

Using a specific font family is great as it improves the look of our website. But what if a specific font family is not available for one of our users? Let's have a look at the "font-family" syntax and learn how we can add a fallback for such cases.

6
Working with Locally Saved Fonts

The goal of our website is to attract as many users as possible - and the website should look equal for all these users. Therefore using a unique font which might not be available for all users can cause problems, so let's have a look at this issue.

7
Working with Google Fonts

Using fonts only locally available for (some) users is not the best way to add a font family. Web fonts are a great alternative, so let's learn how to add a web font at the example of google fonts.

8
Understanding Font Faces & "font-style"

On google fonts we saw that we do not only have to add the font family but also a specific font face. Time to take a closer look at that.

9
Importing our Custom Fonts

Time to have a look at the last option to add new font families to our website. Let's learn how we can use @font-face to add our own custom font to our website.

10
Understanding Font Formats

The font faces applied so far used the .ttf format. As there are multiple font formats available, we should dive deeper into these and learn which formats might be a good choice and which we might not necessarily need.

11
Diving into Font Properties

We added the font to our website, now it's time to dive into the properties we have to change the default style of this font. So what can we do with "font-size", "font-variant" and "font-stretch"?

12
Adding "letter-spacing"

There are more properties available for our font so let me introduce "letter-spacing" and "white-space" in this lecture!

13
Changing the Line Height

Another really interesting property is "line-height". Let's apply this property to our project and see how it helps us to define the height of our content box!

14
Applying "text-decoration" & "text-shadow"

We are almost done, two additional properties left. Let's understand how we can use "text-decoration" and "text-shadow" to make our texts shine!

15
Understanding the "font" Shorthand

These were a lot of properties and always typing each single property is certainly not a lot of fun. Thankfully, we have the "font" shorthand. As this is a special shorthand, it definitely makes sense to have a closer look in this lecture!

16
Loading Performance & "font-display"

Fonts make our website beautiful - and slow. Not necessarily though but we should have a look at "font-display" and how we can use it to improve the loading behaviour of our customized fonts imported with @font-face! 

17
Wrap Up

Let me wrap this module up and summarize what you learned thus far.

18
Useful Resources & Links

Attached to this lecture, you find the module source code. Inside of the lecture, you can find some helpful links.

Adding Flexbox to our Project

1
Optional: Expert Track Introduction

You already are an advanced CSS user and just joined this course at this stage? Let me quickly give you an overview of what we achieved so far!

2
Module Introduction

Let me introduce you to this module and to what you'll learn inside of it.

3
How we Could Improve our Project

We achieved a great and responsive styling for our website, but let's have a closer look and see if there aren't some areas to improve the code structure.

4
Understanding Flexbox

We want to avoid "inline-block" and make our code leaner, but why could Flexbox help us here? Let me introduce you to the general idea of Flexbox in this lecture!

5
Creating a Flex Container

Time to create our first Flex Container. Let's learn how this works and which different Flex Container types we can create in this video!

6
Using "flex-direction" & "flex-wrap"

Creating a Flex Container automatically applied some assumptions regarding the way our elements behave. We should find out more about this default behaviour and also learn how we can change it according to our needs.

7
Understanding the Importance of Main Axis & Cross Axis

Main axis and cross axis - two very important concepts when working with Flexbox. Let's find out more about these and also learn how we can switch the main and cross axis by using "flex-direction".

8
Working with "align-items" & "justify-content"

The standard positioning of our Flex Items might not be the one required by us. Time to understand which properties we can use to change this default behaviour.

9
And What About "align-content"?

We were diving into almost all properties related to the Flex Container - let's have a look at the last one, "align-content", in this lecture.

10
Time for another quiz - are you a Flexbox expert already?

We had a detailed look at the core concepts of Flexbox up to this point. So let's test you knowledge in this quiz, before we jump back to our course project!

11
Improving the Navigation Bar with Flexbox

After understanding the theory, it's time to apply our new knowledge to the project. The navigation bar generally works, but adding Flexbox to it would definitely be an improvement. Let's do it!

12
Your Challenge - Working on the Mobile Navigation Bar

The desktop navigation bar is Flexbox "powered" now, but our mobile navigation bar should also be based on that newly learned approach. This is your chance, try to implement Flexbox for the mobile navigation bar and let's then have a look at my solution together!

13
Improving the Footer

We almost finished the shared elements for all pages on our website - time to work on the footer now!

14
Flexbox and the Z-Index

Before we dive into your next assignment, there is one important thing about the Z-Index and Flexbox that I would like to share with you.

15
Time to Practice - Flexbox
16
[OPTIONAL] Assignment Solution
17
Adding Flexbox to the Customers Page

The starting page is also done, time to apply Flexbox one last time - the customers page also needs to be improved!

18
Using the "order" Property for a Flex Item

Working with the Flex Container is a lot of fun, but what if we want to change the behaviour of a single Flex Item? Let's find out how this can be achieved with the "order" property!

19
Working with "align-self"

We learned about "align-content" and "align-items" for the Flex Container. In this lecture, it's time to find out how we can change the position of a single Flex Item inside a Flex Container by using "align-self".

20
Understanding "flex-grow"

We understood the default behaviour of our Flex Items, but what if we want to change the way the items behave if our viewport gets larger than the actual item width? Then it's time to learn more about "flex-grow"!

21
Applying "flex-shrink"

Having an impact on the growth behaviour of the Flex Items is possible, so the same thing should also be possible the other way round, shouldn't it? Turns out this is possible, so let me show you how this works in this lecture!

22
Comparing "flex-basis" vs "width" & "height"

We know that we can define the width or the height of our elements, so what is "flex-basis" and which impact does it have on these two properties? Let's find an answer to these question in this lecture!

23
Wrap Up

Let me wrap this module up and summarize what you learned thus far.

24
Useful Resources & Links

Attached to this lecture, you find the module source code. Inside of the lecture, you can find some helpful links.

Using the CSS Grid

1
Module Introduction

Let me introduce you to this module and to what you'll learn inside of it.

2
What is the CSS Grid?

Let me start this module with the answer to the most important question: What is the CSS Grid? 

3
Getting Started

The CSS Grid is a very powerful tool, so for diving into all of its features we will start with an example project. Let's have a look at this project and also see why Firefox might be a good choice when working with the CSS Grid.

4
Turning a Container into a Grid

Time to add a new value to our well known "display" property: "grid". This turns our container into a CSS Grid and also impacts the child elements. Let's investigate that.

5
Defining Columns & Rows

With the first steps done it's time to dive deeper. In this lecture we will add "grid-template-columns" and "grid-template-rows" to overwrite the default settings and to define the column and row sizes on our own!

6
Positioning Child Elements in a Grid

After creating the Grid each element uses one cell. What if we want to overwrite this default behaviour and define the position of the elements inside the Grid manually? Let me show you how this works in this lecture!

7
Using "element-sizing", "repeat" & "minmax"

Time to have a closer look at the layout of our CSS Grid. Let's see how we can impact the space needed by our elements by using some special CSS functions!

8
Advanced Element Positioning

Until now we only positioned our elements by defining the lines and column numbers. Let me show you alternative ways how to achieve this by using "span" and negative line numbers. Additionally, we'll find out if elements can overlap inside a CSS Grid.

9
Working with Named Lines

Working with line numbers works fine, but being more specific about the lines we want to refer to would be helpful. Turns out that there is a solution for that - named lines!

10
Time to Practice - Grid
11
Understanding Column & Row Shorthands

We understand the basic layouting and positioning concepts of the CSS Grid. Time to have a look at some useful shorthands!

12
Working with Gaps

Right now all rows and columns sit directly next to each other. Let's have a look at "grid-column-gap", "grid-row-gap"  and the "grid-gap" shorthand to change this!

13
Adding Named Template Areas

Time to dive deeper! Let's understand how we can devide our Grid into separate areas and then define which part of this area specific elements should occupy.

14
Time to Practice - Diving deeper into the CSS Grid
15
Creating Automatically Generated Grid Areas

We understood the concept of areas and we also worked with line names. In this lecture we will learn how to add column names and how to place elements inside our template area with the help of line names! We'll also learn how to create an automatically generated Grid area.

16
Using the Grid on our Project

Enough of the theory for now, let's apply some of the concepts we learned so far to our project! Let's start by using the Grid layout for the navigation bar and the footer.

17
Working with "fit-content"

We successfully added the Grid but our image on the starting page is not displayed correctly anymore. Additionally the footer doesn't work as intended in the mobile mode. Let's work on these issues and also learn how to use "fit-content" in this lecture!

18
Positioning Grid Elements

Time to go back to our "theory" project and have a closer look at positioning: Let's find out how we can position elements inside a Grid, because until now each element uses the full space available in its cell. Turns out that we can change this default behaviour!

19
Positioning the Entire Grid Content

We know how to position our Grid elements, but what if we want to change the position of our entire Grid inside our container? Let me show you how this works in this lecture!

20
Positioning Elements Individually

We already learned how to change the position of all elements inside our Grid container. But is it also possible to change the position of a single element? Yes it is, so time to learn how this works!

21
Understanding Responsive Grids

Throughout the course we worked on the responsive design of our website. Our Grid should of course also become repsonsive, so let's find out how we can add media queries to our Grid.

22
Applying Autoflow

Whenever applying "display: grid" to a parent element, the Grid will automatically create new rows for the direct child elements of this element. But how can we control and change this default behaviour? Time to find out how this works!

23
Comparing the Explicit & Implicit Grid

We saw that we can either define parts of the Grid manually or simply let the Grid generate the rows and columns automatically. Let's have a look at these approaches again and understand the difference between the explicit and the implicit Grid.

24
Understanding "auto-fill" & "auto-fit"

In this lecture, we will learn how we can dynamically generate columns. Because depending on the viewport size more or less space is available on our website so we should ensure that this space is always used in the best possible way!

25
Creating a Dense Grid

Time to understand the "dense" value in our Grid and to see how this allows us to overwrite a specific default behaviour related to the DOM order!

26
Styling the Project Form with Grid

Let's jump back to our course project and continue applying our new knowledge. So time to apply a Grid layout to our form! While doing that, we'll also learn how we can nest Grids.

27
Comparing Grid & Flexbox

Grid vs Flexbox, which one should we use in which situation? Let me give you some guidance in this video!

28
Next Steps

How should you continue? In this lecture you find some helpful resources to dive deeper into the CSS Grid!

29
Wrap Up

Let me wrap this module up and summarize what you learned thus far.

30
Useful Resources & Links

Attached to this lecture, you find the module source code. Inside of the lecture, you can find some helpful links.

Transforming Elements with CSS Transforms

1
Module Introduction

Let me introduce you to this module and to what you'll learn in it.

2
Rotating Elements and setting transform-origin

Let's start with something exciting: Rotating elements via the rotate() method.

3
Using Rotate and Translate

Rotating elements is fun but let's now also dive into moving elements via the translate() function.

4
Working with "skew" and "scale"

We saw two of the four transform functions - time to also explore the remaining ones in this lecture.

5
Applying Transformation Shorthands

As for many other properties, too, we got shorthands for transforms.

6
Rotating Elements in 3 Dimensions

Enough of the 2D space, let's start diving into 3D animations!

7
Understanding the "perspective" Property

3D is all about understanding where the camera is. Learn how to adjust the viewer perspective in this lecture.

8
Moving Elements along the Z-Axis with "translateZ"

So much rotation! Let's now dive into how you may move elements in a 3-dimensional space.

9
Rotating the Container with "transform style"

When we start rotating everything, we can end up in quite confusing situations. Time to bring some light into the dark.

10
Flipping Elements & "backface-visibility"

When flipping (rotating) elements, we eventually see their backside. You can control what you see as you'll learn in this lecture.

11
Wrap Up

Let me wrap this module up and summarize what we learned thus far.

12
Useful Resources & Links

Attached to this lecture, you'll find the module source code. Inside the lecture, you find use links.

Transitions & Animations in CSS

1
Module Introduction

Let me introduce you to this module and to what you'll learn in it.

2
Understanding and Applying Transitions

We got two different tools when it comes to animating things in CSS. Let's start with CSS transitions and understand how these work.

3
CSS "transition" Property Deep Dive

I explained how the CSS transition property is used. Here's a deep dive in case you want to study it in even greater depth.

4
Working with Timing Functions

There are these strange "timing functions" as you learned. Let's now explore what exactly is up with these.

5
Transitions & "display"

When adding CSS transitions, you can run into issues if you also use the display property to show and hide things. Learn more about that in this lecture.

6
Time to Practice - CSS Transitions
7
Using CSS Animations

Besides CSS transitions, we also got CSS animations. Time to dive into these.

8
CSS "animation" Property Deep Dive

I explained how the CSS animation property is used. Here's a deep dive in case you want to study it in even greater depth.

9
Adding Multiple Keyframes

We added a basic animation, let's now have a look at multiple keyframes.

10
Adding Animations to our Customers Page

Time to add more animations to our webpage - let's add them to the customers page.

11
Time to Practice - CSS Animations
12
Using JavaScript Animation Event Listeners

CSS animations also trigger useful events to which we can listen via JavaScript. Learn more about that in this lecture.

13
Wrap Up

Let me wrap this module up and summarize what we learned thus far.

14
Useful Resources & Links

Attached to this lecture, you'll find the module source code. Inside the lecture, you find use links.

Writing Future-Proof CSS Code

1
Module Introduction

Let me introduce you to this module and to what you'll learn in it.

2
CSS Modules & Their Working Groups

Want to stay up-to-date with what's happening in CSS land? Dive into the working groups of the various CSS modules.

3
Using CSS Variables

When writing CSS code, you often repeat certain values like colors or units. CSS variables can help you with that.

4
Understanding & Using Vendor Prefixes

Browsers implement CSS features differently and at different speed. Vendor prefixes help you with that.

5
Which Prefixes Should You Use?

With the basics about vendor prefixes out of the way, let's explore which ones you should use.

6
Detecting Browser Support with @supports

Sometimes, you need a certain fallback in case a browser doesn't support a feature. @supports helps you with that.


7
Polyfills

If a browser doesn't support a certain feature, you can use a polyfill. Learn more about that in this lecture.

8
Eliminating Cross-Browser Inconsistencies

Your users use different browsers and each browser has its own defaults. Learn more about such defaults and how to start from a comparable basis in this lecture.

9
How to Name CSS Classes

You can name CSS classes in which ever way you want. But that of course opens up a lot of possibilities. How should you name them?

10
Vanilla CSS vs Frameworks

You can also use CSS frameworks in your projects. Which kind of frameworks exist and when should you use them?

11
Wrap Up

Let me wrap this module up and summarize what we learned thus far.

12
Useful Resources & Links

Attached to this lecture, you find the module source code. Inside of the lecture, you can find some helpful links.

Introducing Sass (Syntactically Awesome Style Sheets)

1
Module Introduction

Let me introduce you to this module and to what you'll learn inside of it.

2
What is Sass & Scss?

So what is Sass? Let's dive into this question (and answer it) in this module.

3
Important: Installing Sass
4
Installing Sass

Let's get started with using Sass. Step #1: Install it. That's exactly what we'll do in this lecture.

5
Things to be Improved with Sass

What can Sass do for us? Let's take a look!

6
Nesting Selectors

One very cool feature of Sass is that we may easily combine selectors by nesting them. Time for a closer look.

7
Adding Nested Properties

We can not only nest selectors - we can do the same with properties. So how does that work then?

8
Understanding Variables

Sass variables are another very cool feature. Time to take a closer look.

9
Storing Lists & Maps in Variables

Instead of using simple variables, you can also create more complex maps of data.

10
Built-In Functions

Sass also comes with many built-in functions which make your life as a web developer easier. Let's find out which these are.

11
Time to Practice - Sass
12
Adding Simple Arithmetics

Besides using built-in functions, you can also do arithmetics in Sass-driven stylesheets.

13
Adding Better Import and Partials

Writing code in one file only is not that much fun. With Sass, you got even more ways of splitting your code.

14
Improving Media Queries

Let's learn how Sass can also help us when writing media queries.

15
Understanding Inheritance

Sass also comes with its own concept of inheritance as you lean in this lecture.

16
Adding Mixins

Another very cool feature of Sass are "Mixins". Now what's that?

17
Using the Ampersand Operator

When writing Sass rules, there's a helpful "utility" you definitely should know about.

18
Wrap Up

Let me wrap this module up and summarize what you learned thus far.

19
Useful Resources & Links

Attached to this lecture, you find the module source code. Inside of the lecture, you can find some helpful links.

Course Roundup

1
Course Roundup

Amazing job, you made it through the course and learned a lot about CSS! Let me summarize this course and outline some possible next steps.

2
Bonus: More Content!
Vous pouvez afficher et ru00e9viser les supports de cours indu00e9finiment, comme une chau00eene u00e0 la demande.
Absolumentu00a0! Si vous disposez d'une connexion Internet, les cours sur WeCours sont disponibles u00e0 tout moment sur n'importe quel appareil. Si vous n'avez pas de connexion Internet, certains instructeurs permettent u00e9galement u00e0 leurs u00e9tudiants de tu00e9lu00e9charger les cours. instructeur, alors assurez-vous d'u00eatre du bon cu00f4tu00e9u00a0!
4.7
4.7 sur 5
Notes13895

Détails des Notes

Étoiles 5
9573
Étoiles 4
3597
Étoiles 3
598
Étoiles 2
74
Étoiles 1
53
Garantie de remboursement de 30 jours

Inclut

23 heures de vidéo à la demande
Accès complet à vie
Accès sur le mobile et la télévision
Certificat d'achèvement

Archive

Working hours

Monday 9:30 am - 6.00 pm
Tuesday 9:30 am - 6.00 pm
Wednesday 9:30 am - 6.00 pm
Thursday 9:30 am - 6.00 pm
Friday 9:30 am - 5.00 pm
Saturday Closed
Sunday Closed