You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/fr/3-terrarium/2-intro-to-css/README.md

34 KiB

Projet Terrarium Partie 2 : Introduction au CSS

journey
    title Votre parcours de stylisation CSS
    section Fondations
      Lier le fichier CSS: 3: Student
      Comprendre la cascade: 4: Student
      Apprendre l'héritage: 4: Student
    section Sélecteurs
      Ciblage d'éléments: 4: Student
      Modèles de classes: 5: Student
      Spécificité des ID: 5: Student
    section Mise en page
      Positionner les éléments: 4: Student
      Créer des conteneurs: 5: Student
      Construire un terrarium: 5: Student
    section Fignoler
      Ajouter des effets visuels: 5: Student
      Design réactif: 5: Student
      Reflets de verre: 5: Student

Introduction au CSS

Sketchnote par Tomomi Imura

Vous vous souvenez comment votre terrarium HTML avait lair assez basique ? Le CSS est ce qui transforme cette structure simple en quelque chose de visuellement attrayant.

Si le HTML est comme construire la charpente dune maison, alors le CSS est tout ce qui fait quon sy sent chez soi - les couleurs de peinture, lagencement des meubles, léclairage et la façon dont les pièces senchaînent. Pensez à la façon dont le Palais de Versailles a commencé comme un simple pavillon de chasse, mais une attention minutieuse à la décoration et à lagencement la transformé en lun des bâtiments les plus magnifiques du monde.

Aujourdhui, nous allons transformer votre terrarium de fonctionnel à raffiné. Vous apprendrez à positionner les éléments précisément, à faire en sorte que les mises en page sadaptent aux différentes tailles décran, et à créer lattrait visuel qui rend les sites web engageants.

À la fin de cette leçon, vous verrez comment une stylisation CSS stratégique peut améliorer considérablement votre projet. Ajoutons un peu de style à votre terrarium.

mindmap
  root((Fondamentaux CSS))
    Cascade
      Règles de spécificité
      Héritage
      Ordre de priorité
      Résolution des conflits
    Selectors
      Balises d'éléments
      Classes (.class)
      IDs (#id)
      Combinateurs
    Box Model
      Marge
      Bordure
      Rembourrage
      Contenu
    Layout
      Positionnement
      Types d'affichage
      Flexbox
      Grille
    Visual Effects
      Couleurs
      Ombres
      Transitions
      Animations
    Responsive Design
      Requêtes médias
      Unités flexibles
      Méta viewport
      Mobile First

Quiz Pré-Cours

Quiz pré-cours

Démarrer avec le CSS

Le CSS est souvent perçu comme juste « rendre les choses jolies », mais il sert à bien plus que cela. Le CSS est comme être le réalisateur dun film - vous contrôlez non seulement lapparence de tout, mais aussi comment ça bouge, répond aux interactions, et sadapte aux différentes situations.

Le CSS moderne est remarquablement puissant. Vous pouvez écrire du code qui ajuste automatiquement les mises en page pour les téléphones, tablettes et ordinateurs de bureau. Vous pouvez créer des animations fluides qui dirigent lattention des utilisateurs là où cest nécessaire. Les résultats peuvent être très impressionnants quand tout fonctionne ensemble.

💡 Astuce Pro : Le CSS évolue constamment avec de nouvelles fonctionnalités et capacités. Vérifiez toujours CanIUse.com pour confirmer la prise en charge par les navigateurs des nouvelles fonctionnalités CSS avant de les utiliser dans des projets en production.

Voici ce que nous allons accomplir dans cette leçon :

  • Créer un design visuel complet pour votre terrarium en utilisant les techniques CSS modernes
  • Explorer les concepts fondamentaux comme la cascade, lhéritage et les sélecteurs CSS
  • Mettre en œuvre des stratégies de positionnement et de mise en page responsives
  • Construire le conteneur du terrarium avec des formes et du style CSS

Prérequis

Vous devez avoir complété la structure HTML de votre terrarium de la leçon précédente et lavoir prête à être stylisée.

📺 Ressource Vidéo : Découvrez ce tutoriel vidéo utile

Tutoriel bases du CSS

Configurer votre fichier CSS

Avant de pouvoir commencer à styliser, nous devons relier le CSS à notre HTML. Cette connexion indique au navigateur où trouver les instructions de style pour notre terrarium.

Dans votre dossier terrarium, créez un nouveau fichier nommé style.css, puis liez-le dans la section <head> de votre document HTML :

<link rel="stylesheet" href="./style.css" />

Ce que fait ce code :

  • Crée une connexion entre vos fichiers HTML et CSS
  • Indique au navigateur de charger et appliquer les styles depuis style.css
  • Utilise lattribut rel="stylesheet" pour spécifier quil sagit dun fichier CSS
  • Référence le chemin du fichier avec href="./style.css"

Comprendre la cascade CSS

Vous vous êtes déjà demandé pourquoi on appelle ça des « feuilles de style en cascade » ? Les styles coulent comme une cascade, et parfois ils entrent en conflit.

Considérez comment fonctionnent les structures de commandement militaire - un ordre général pourrait dire « toutes les troupes portent du vert », mais un ordre spécifique à votre unité peut dire « portez la tenue de cérémonie bleue ». Linstruction la plus spécifique prend le pas. Le CSS suit une logique similaire, et comprendre cette hiérarchie rend le débogage beaucoup plus simple.

Expérimenter avec la priorité de cascade

Voyons la cascade en action en créant un conflit de style. Dabord, ajoutez un style en ligne à votre balise <h1> :

<h1 style="color: red">My Terrarium</h1>

Ce que fait ce code :

  • Applique une couleur rouge directement à lélément <h1> via un style en ligne
  • Utilise lattribut style pour insérer du CSS directement dans le HTML
  • Crée la règle de style la plus prioritaire pour cet élément spécifique

Ensuite, ajoutez cette règle dans votre fichier style.css :

h1 {
  color: blue;
}

Dans ce qui précède, nous avons :

  • Défini une règle CSS ciblant tous les éléments <h1>
  • Mis la couleur du texte en bleu à laide dune feuille de style externe
  • Créé une règle de priorité inférieure comparée au style en ligne

Vérification de connaissances : Quelle couleur saffiche dans votre application web ? Pourquoi cette couleur gagne-t-elle ? Pouvez-vous penser à des scénarios où vous voudriez outrepasser des styles ?

flowchart TD
    A["Le navigateur rencontre l'élément h1"] --> B{"Vérifier les styles en ligne"}
    B -->|Trouvé| C["style='color: red'"] 
    B -->|Aucun| D{"Vérifier les règles d'ID"}
    C --> E["Appliquer la couleur rouge (1000 points)"]
    D -->|Trouvé| F["#heading { color: green }"]
    D -->|Aucun| G{"Vérifier les règles de classe"}
    F --> H["Appliquer la couleur verte (100 points)"]
    G -->|Trouvé| I[".title { color: blue }"]
    G -->|Aucun| J{"Vérifier les règles d'élément"}
    I --> K["Appliquer la couleur bleue (10 points)"]
    J -->|Trouvé| L["h1 { color: purple }"]
    J -->|Aucun| M["Utiliser la valeur par défaut du navigateur"]
    L --> N["Appliquer la couleur violette (1 point)"]
    
    style C fill:#ff6b6b
    style F fill:#51cf66
    style I fill:#339af0
    style L fill:#9775fa

💡 Ordre de priorité CSS (du plus élevé au plus bas) :

  1. Styles en ligne (attribut style)
  2. IDs (#monId)
  3. Classes (.maClasse) et attributs
  4. Sélecteurs déléments (h1, div, p)
  5. Valeurs par défaut du navigateur

Héritage CSS en action

Lhéritage CSS fonctionne comme la génétique - les éléments héritent certaines propriétés de leurs parents. Si vous définissez la police sur lélément body, tout le texte à lintérieur utilise automatiquement cette même police. Cest semblable à la façon dont la mâchoire distinctive de la famille Habsbourg apparaissait à travers les générations sans être spécifiée individuellement.

Cependant, tout nest pas hérité. Les styles de texte comme les polices et les couleurs shéritent, mais les propriétés de mise en page comme les marges et bordures ne le sont pas. Comme les enfants peuvent hériter des traits physiques mais pas des choix vestimentaires de leurs parents.

Observer lhéritage de la police

Voyons lhéritage en action en définissant une police sur lélément <body> :

body {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

Décryptage de ce qui se passe ici :

  • Définit la famille de polices pour toute la page en ciblant lélément <body>
  • Utilise une pile de polices avec des options de secours pour une meilleure compatibilité navigateur
  • Applique des polices système modernes qui rendent bien sur différents systèmes dexploitation
  • Assure que tous les éléments enfants héritent cette police sauf si spécifiquement substituée

Ouvrez les outils de développement de votre navigateur (F12), allez dans longlet Éléments, et inspectez votre élément <h1>. Vous verrez quil hérite de la famille de polices du body :

police héritée

Temps dexpérimentation : Essayez de définir dautres propriétés héritables sur le <body> comme color, line-height ou text-align. Que se passe-t-il pour votre titre et les autres éléments ?

📝 Propriétés héritables comprennent : color, font-family, font-size, line-height, text-align, visibility

Propriétés non héritables comprennent : margin, padding, border, width, height, position

🔄 Bilan pédagogique

Compréhension des fondations CSS : Avant de passer aux sélecteurs, assurez-vous de pouvoir :

  • Expliquer la différence entre cascade et héritage
  • Prédire quel style lemportera en cas de conflit de spécificité
  • Identifier quelles propriétés sont héritées des éléments parents
  • Relier correctement les fichiers CSS au HTML

Test rapide : Si vous avez ces styles, de quelle couleur sera un <h1> dans un <div class="special"> ?

div { color: blue; }
.special { color: green; }
h1 { color: red; }

Réponse : Rouge (le sélecteur délément cible directement h1)

Maîtriser les sélecteurs CSS

Les sélecteurs CSS sont votre moyen de cibler des éléments spécifiques pour les styler. Ils fonctionnent comme donner des directions précises - au lieu de dire « la maison », vous pourriez dire « la maison bleue avec la porte rouge dans la rue Maple ».

Le CSS offre différentes façons dêtre spécifique, et choisir le bon sélecteur, cest comme choisir le bon outil pour la tâche. Parfois vous devez styliser toutes les portes du quartier, parfois une porte en particulier.

Sélecteurs déléments (balises)

Les sélecteurs déléments ciblent des éléments HTML par leur nom de balise. Ils sont parfaits pour définir des styles de base qui sappliquent largement sur votre page :

body {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  margin: 0;
  padding: 0;
}

h1 {
  color: #3a241d;
  text-align: center;
  font-size: 2.5rem;
  margin-bottom: 1rem;
}

Comprendre ces styles :

  • Définit une typographie cohérente sur toute la page avec le sélecteur body
  • Supprime les marges et le padding par défaut du navigateur pour un meilleur contrôle
  • Style tous les éléments de titre avec couleur, alignement et espacement
  • Utilise les unités rem pour une taille de police évolutive et accessible

Tandis que les sélecteurs déléments fonctionnent bien pour les styles généraux, vous aurez besoin de sélecteurs plus spécifiques pour les composants individuels comme les plantes dans votre terrarium.

Sélecteurs ID pour les éléments uniques

Les sélecteurs ID utilisent le symbole # et ciblent les éléments avec un attribut id spécifique. Puisque les IDs doivent être uniques sur une page, ils sont parfaits pour styler des éléments individuels et particuliers comme nos conteneurs latéraux de plantes.

Créons le style pour les conteneurs latéraux de notre terrarium où les plantes seront placées :

#left-container {
  background-color: #f5f5f5;
  width: 15%;
  left: 0;
  top: 0;
  position: absolute;
  height: 100vh;
  padding: 1rem;
  box-sizing: border-box;
}

#right-container {
  background-color: #f5f5f5;
  width: 15%;
  right: 0;
  top: 0;
  position: absolute;
  height: 100vh;
  padding: 1rem;
  box-sizing: border-box;
}

Ce que fait ce code :

  • Positionne les conteneurs aux extrémités gauche et droite en utilisant une position absolute
  • Utilise les unités vh (hauteur de la fenêtre) pour une hauteur responsive qui sadapte à la taille de lécran
  • Applique box-sizing: border-box pour inclure le padding dans la largeur totale
  • Supprime les unités px inutiles quand la valeur est zéro pour un code plus propre
  • Définit une couleur de fond subtile plus douce que le gris vif

Défi Qualité de Code : Remarquez comment ce CSS viole le principe DRY (Don't Repeat Yourself). Pouvez-vous le refactorer en utilisant à la fois un ID et une classe ?

Approche améliorée :

<div id="left-container" class="container"></div>
<div id="right-container" class="container"></div>
.container {
  background-color: #f5f5f5;
  width: 15%;
  top: 0;
  position: absolute;
  height: 100vh;
  padding: 1rem;
  box-sizing: border-box;
}

#left-container {
  left: 0;
}

#right-container {
  right: 0;
}

Sélecteurs de classes pour styles réutilisables

Les sélecteurs de classes utilisent le symbole . et sont parfaits lorsque vous voulez appliquer les mêmes styles à plusieurs éléments. Contrairement aux IDs, les classes peuvent être réutilisées partout dans votre HTML, ce qui les rend idéales pour des styles cohérents et répétitifs.

Dans notre terrarium, chaque plante nécessite un style similaire mais doit aussi être positionnée individuellement. Nous allons utiliser une combinaison de classes pour les styles partagés et dIDs pour le positionnement unique.

Voici la structure HTML pour chaque plante :

<div class="plant-holder">
  <img class="plant" alt="Decorative plant for terrarium" id="plant1" src="../../../../translated_images/fr/plant1.d18b18ffe73da18f.png" />
</div>

Explication des éléments clés :

  • Utilise class="plant-holder" pour un style de conteneur uniforme sur toutes les plantes
  • Applique class="plant" pour un style dimage partagé et comportement commun
  • Inclus un id="plant1" unique pour positionnement individuel et interaction JavaScript
  • Fournit un texte alternatif descriptif pour laccessibilité aux lecteurs décran

Ajoutez maintenant ces styles à votre fichier style.css :

.plant-holder {
  position: relative;
  height: 13%;
  left: -0.6rem;
}

.plant {
  position: absolute;
  max-width: 150%;
  max-height: 150%;
  z-index: 2;
  transition: transform 0.3s ease;
}

.plant:hover {
  transform: scale(1.05);
}

Décryptage de ces styles :

  • Crée un positionnement relatif pour le conteneur de plante afin détablir un contexte de positionnement
  • Fixe chaque conteneur de plante à 13% de hauteur pour que toutes les plantes tiennent verticalement sans défilement
  • Décale légèrement les conteneurs vers la gauche pour mieux centrer les plantes dans leurs conteneurs
  • Permet aux plantes de sadapter de façon responsive avec max-width et max-height
  • Utilise z-index pour superposer les plantes au-dessus dautres éléments du terrarium
  • Ajoute un effet subtil au survol avec des transitions CSS pour une meilleure interaction utilisateur

Réflexion critique : Pourquoi avons-nous besoin à la fois des sélecteurs .plant-holder et .plant ? Que se passerait-il si on utilisait un seul seul ?

💡 Patron de conception : Le conteneur (.plant-holder) contrôle la mise en page et le positionnement, tandis que le contenu (.plant) contrôle lapparence et la mise à léchelle. Cette séparation rend le code plus maintenable et flexible.

Comprendre le positionnement CSS

Le positionnement CSS est comme être le metteur en scène dune pièce de théâtre - vous dirigez où chaque acteur se place et comment il se déplace sur scène. Certains acteurs suivent la formation standard, tandis que dautres ont besoin dun positionnement spécifique pour un effet dramatique.

Une fois que vous comprenez le positionnement, beaucoup de défis de mise en page deviennent gérables. Besoin dune barre de navigation qui reste en haut pendant que lutilisateur défile ? Le positionnement gère cela. Vous voulez une infobulle qui apparaît à un endroit précis ? Cest aussi du positionnement.

Les cinq valeurs de position

quadrantChart
    title Stratégie de Positionnement CSS
    x-axis Flux du Document --> Retiré du Flux
    y-axis Position Statique --> Contrôle Précis
    quadrant-1 Absolu
    quadrant-2 Fixe
    quadrant-3 Statique
    quadrant-4 Collant
    
    Static: [0.2, 0.2]
    Relative: [0.3, 0.6]
    Absolute: [0.8, 0.8]
    Fixed: [0.9, 0.7]
    Sticky: [0.5, 0.9]
Valeur de position Comportement Cas dusage
static Flux par défaut, ignore top/left/right/bottom Mise en page normale du document
relative Positionné par rapport à sa position normale Ajustements mineurs, création de contexte de positionnement
absolute Positionné par rapport à lancêtre positionné le plus proche Placement précis, superpositions
fixed Positionné par rapport à la fenêtre daffichage Barres de navigation, éléments flottants
sticky Passe de relatif à fixe selon le défilement En-têtes qui restent visibles lors du défilement

Positionnement dans notre terrarium

Notre terrarium utilise une combinaison stratégique de types de positionnement pour créer la mise en page désirée :

/* Container positioning */
.container {
  position: absolute; /* Removes from normal flow */
  /* ... other styles ... */
}

/* Plant holder positioning */
.plant-holder {
  position: relative; /* Creates positioning context */
  /* ... other styles ... */
}

/* Plant positioning */
.plant {
  position: absolute; /* Allows precise placement within holder */
  /* ... other styles ... */
}

Comprendre la stratégie de positionnement :

  • Les conteneurs absolus sont retirés du flux normal du document et attachés aux bords de lécran
  • Les conteneurs de plantes relatifs créent un contexte de positionnement tout en restant dans le flux du document
  • Les plantes en position absolue peuvent être positionnées précisément à lintérieur de leurs conteneurs relatifs
  • Cette combinaison permet aux plantes dêtre empilées verticalement tout en pouvant être positionnées individuellement

🎯 Pourquoi cest important : Les éléments plant ont besoin dun positionnement absolu pour devenir déplaçables dans la leçon suivante. Le positionnement absolu les retire du flux normal, rendant possible les interactions de glisser-déposer.

Temps dexpérimentation : Essayez de changer les valeurs de positionnement et observez les résultats :

  • Que se passe-t-il si vous changez .container de absolute à relative ?
  • Comment la mise en page change-t-elle si .plant-holder utilise absolute au lieu de relative ?
  • Que se passe-t-il lorsque vous passez .plant en positionnement relative ?

🔄 Point pédagogique

Maîtrise du positionnement CSS : Faites une pause pour vérifier votre compréhension :

  • Pouvez-vous expliquer pourquoi les plantes ont besoin d'un positionnement absolu pour le drag-and-drop ?
  • Comprenez-vous comment les conteneurs relatifs créent un contexte de positionnement ?
  • Pourquoi les conteneurs latéraux utilisent-ils un positionnement absolu ?
  • Que se passerait-il si vous supprimiez entièrement les déclarations de position ?

Lien avec le monde réel : Pensez à la façon dont le positionnement CSS reflète la disposition dans la vie réelle :

  • Static : Livres sur une étagère (ordre naturel)
  • Relative : Déplacer un livre légèrement tout en gardant sa place
  • Absolute : Placer un marque-page à une page précise
  • Fixed : Un post-it qui reste visible lorsque vous tournez les pages

Construire le terrarium avec CSS

Nous allons maintenant construire un bocal en verre en utilisant uniquement du CSS - pas besoin d'images ou de logiciels graphiques.

Créer lillusion dun verre réaliste, des ombres et des effets de profondeur à laide du positionnement et de la transparence démontre les capacités visuelles du CSS. Cette technique reflète la manière dont les architectes du mouvement Bauhaus utilisaient des formes géométriques simples pour créer des structures complexes et esthétiques. Une fois ces principes compris, vous reconnaîtrez les techniques CSS derrière beaucoup de designs web.

flowchart LR
    A[Haut du bocal] --> E[Terrarium complet]
    B[Parois du bocal] --> E
    C[Couche de terre] --> E
    D[Fond du bocal] --> E
    F[Effets de verre] --> E
    
    A1["50% largeur<br/>5% hauteur<br/>Position haute"] --> A
    B1["60% largeur<br/>80% hauteur<br/>Coins arrondis<br/>0.5 opacité"] --> B
    C1["60% largeur<br/>5% hauteur<br/>Marron foncé<br/>Couche inférieure"] --> C
    D1["50% largeur<br/>1% hauteur<br/>Position basse"] --> D
    F1["Ombres subtiles<br/>Transparence<br/>Superposition Z-index"] --> F
    
    style E fill:#d1e1df,stroke:#3a241d
    style A fill:#e8f5e8
    style B fill:#e8f5e8
    style C fill:#8B4513
    style D fill:#e8f5e8

Création des composants du bocal en verre

Construisons le bocal du terrarium pièce par pièce. Chaque partie utilise un positionnement absolu et des tailles en pourcentages pour un design responsive :

.jar-walls {
  height: 80%;
  width: 60%;
  background: #d1e1df;
  border-radius: 1rem;
  position: absolute;
  bottom: 0.5%;
  left: 20%;
  opacity: 0.5;
  z-index: 1;
  box-shadow: inset 0 0 2rem rgba(0, 0, 0, 0.1);
}

.jar-top {
  width: 50%;
  height: 5%;
  background: #d1e1df;
  position: absolute;
  bottom: 80.5%;
  left: 25%;
  opacity: 0.7;
  z-index: 1;
  border-radius: 0.5rem 0.5rem 0 0;
}

.jar-bottom {
  width: 50%;
  height: 1%;
  background: #d1e1df;
  position: absolute;
  bottom: 0;
  left: 25%;
  opacity: 0.7;
  border-radius: 0 0 0.5rem 0.5rem;
}

.dirt {
  width: 60%;
  height: 5%;
  background: #3a241d;
  position: absolute;
  border-radius: 0 0 1rem 1rem;
  bottom: 1%;
  left: 20%;
  opacity: 0.7;
  z-index: -1;
}

Compréhension de la construction du terrarium :

  • Utilise des dimensions en pourcentage pour un redimensionnement adaptatif sur toutes tailles d'écran
  • Positionne les éléments en absolu pour les empiler et les aligner précisément
  • Applique différentes valeurs dopacité pour créer leffet de transparence du verre
  • Implémente un z-index pour que les plantes apparaissent à lintérieur du bocal
  • Ajoute des ombres portées subtiles et un rayon de bordure affiné pour un aspect plus réaliste

Design responsif avec des pourcentages

Remarquez que toutes les dimensions utilisent des pourcentages plutôt que des valeurs fixes en pixels :

Pourquoi cest important :

  • Assure que le terrarium sadapte proportionnellement à toute taille décran
  • Maintient les relations visuelles entre les composants du bocal
  • Offre une expérience cohérente des mobiles aux grands écrans de bureau
  • Permet au design de sadapter sans casser la mise en page

Unités CSS en action

Nous utilisons les unités rem pour le border-radius, qui séchelonnent en fonction de la taille de police racine. Cela crée des designs plus accessibles qui respectent les préférences de police de lutilisateur. En savoir plus sur les unités relatives CSS dans la spécification officielle.

Expérimentation visuelle : Essayez de modifier ces valeurs et observez les effets :

  • Changez lopacité du bocal de 0.5 à 0.8 comment cela affecte-t-il lapparence du verre ?
  • Ajustez la couleur de la terre de #3a241d à #8B4513 quel impact visuel cela a-t-il ?
  • Modifiez le z-index de la terre à 2 que se passe-t-il dans la superposition ?

🔄 Point pédagogique

Compréhension du design visuel CSS : Confirmez votre maîtrise du CSS visuel :

  • Comment les dimensions en pourcentage créent-elles du design adaptatif ?
  • Pourquoi lopacité crée-t-elle leffet de transparence du verre ?
  • Quel rôle joue le z-index dans la superposition des éléments ?
  • Comment les valeurs de border-radius créent-elles la forme du bocal ?

Principe de design : Remarquez comment nous construisons des visuels complexes à partir de formes simples :

  1. RectanglesRectangles arrondisComposants du bocal
  2. Couleurs platesOpacitéEffet verre
  3. Éléments individuelsComposition en couchesApparence 3D

Défi GitHub Copilot Agent 🚀

Utilisez le mode Agent pour relever le défi suivant :

Description : Créez une animation CSS qui fait doucement osciller les plantes du terrarium, simulant un effet de brise naturelle. Cela vous aidera à pratiquer les animations, transformations et keyframes CSS tout en améliorant lesthétique de votre terrarium.

Consigne : Ajoutez des animations keyframe CSS pour faire balancer doucement les plantes du terrarium de gauche à droite. Créez une animation oscillante qui fait pivoter chaque plante légèrement (2 à 3 degrés) à gauche et à droite avec une durée de 3 à 4 secondes, et appliquez-la à la classe .plant. Assurez-vous que lanimation boucle infiniment avec une fonction daccélération pour un mouvement naturel.

Pour en savoir plus sur le mode agent, cliquez ici.

🚀 Défi : Ajouter des reflets de verre

Prêt à améliorer votre terrarium avec des reflets de verre réalistes ? Cette technique ajoutera profondeur et réalisme au design.

Vous allez créer des reflets subtils qui simulent la façon dont la lumière se reflète sur les surfaces de verre. Cette approche est similaire à celle utilisée par les peintres de la Renaissance comme Jan van Eyck qui utilisaient lumière et réflexion pour donner un aspect tridimensionnel au verre peint. Voici ce que vous devrez viser :

finished terrarium

Votre défi :

  • Créer des formes ovales blanches ou claires subtiles pour les reflets du verre
  • Les positionner stratégiquement sur le côté gauche du bocal
  • Appliquer lopacité et leffet de flou appropriés pour un reflet lumineux réaliste
  • Utiliser le border-radius pour créer des formes organiques rappelant des bulles
  • Expérimenter avec des dégradés ou des ombres portées pour plus de réalisme

Quiz post-conférence

Quiz post-conférence

Approfondissez vos connaissances CSS

Le CSS peut sembler complexe au début, mais comprendre ces concepts fondamentaux fournit une base solide pour des techniques plus avancées.

Vos prochaines étapes en CSS :

  • Flexbox simplifie lalignement et la distribution des éléments
  • CSS Grid offre des outils puissants pour créer des mises en page complexes
  • Variables CSS réduit la répétition et améliore la maintenabilité
  • Design responsive garantit un bon fonctionnement sur différentes tailles décran

Ressources dapprentissage interactives

Pratiquez ces concepts avec ces jeux ludiques et pratiques :

  • 🐸 Flexbox Froggy Maîtrisez Flexbox par des défis amusants
  • 🌱 Grid Garden Apprenez CSS Grid en cultivant des carottes virtuelles
  • 🎯 CSS Battle Testez vos compétences CSS avec des défis de code

Apprentissage complémentaire

Pour maîtriser les bases du CSS, complétez ce module Microsoft Learn : Styliser votre application HTML avec CSS

Ce que vous pouvez faire dans les 5 prochaines minutes

  • Ouvrir DevTools et inspecter les styles CSS de nimporte quel site avec le panneau Éléments
  • Créer un fichier CSS simple et le lier à une page HTML
  • Essayer de changer les couleurs avec différentes méthodes : hexadécimal, RGB et noms de couleur
  • Pratiquer le modèle de boîte en ajoutant padding et margin à une div

🎯 Ce que vous pouvez accomplir cette heure

  • Compléter le quiz post-leçon et revoir les fondamentaux du CSS
  • Styliser votre page HTML avec des polices, couleurs et espacements
  • Créer une mise en page simple avec flexbox ou grid
  • Expérimenter les transitions CSS pour des effets fluides
  • Pratiquer le design responsive avec des media queries

📅 Votre aventure CSS sur une semaine

  • Réaliser le style du terrarium avec créativité
  • Maîtriser CSS Grid en construisant une galerie photo
  • Apprendre les animations CSS pour animer vos designs
  • Explorer les préprocesseurs CSS comme Sass ou Less
  • Étudier les principes de design et les appliquer en CSS
  • Analyser et recréer des designs intéressants trouvés en ligne

🌟 Votre maîtrise du design en un mois

  • Construire un système complet de design de site web responsive
  • Apprendre CSS-in-JS ou des frameworks utilitaires comme Tailwind
  • Contribuer à des projets open source avec des améliorations CSS
  • Maîtriser des concepts avancés CSS comme les propriétés personnalisées et le containment
  • Créer des bibliothèques de composants réutilisables avec du CSS modulaire
  • Encadrer dautres apprentis CSS et partager vos connaissances design

🎯 Votre chronologie de maîtrise CSS

timeline
    title Progression d'apprentissage CSS
    
    section Fondations (10 minutes)
        Connexion de fichiers : Lier CSS à HTML
                             : Comprendre les règles de cascade
                             : Apprendre les bases de l'héritage
        
    section Sélecteurs (15 minutes)
        Ciblage des éléments : Sélecteurs d'éléments
                            : Modèles de classes
                            : Spécificité des ID
                            : Combinateurs
        
    section Modèle de boîte (20 minutes)
        Fondamentaux de mise en page : Marges et padding
                                   : Propriétés de bordure
                                   : Dimensionnement du contenu
                                   : Comportement de box-sizing
        
    section Positionnement (25 minutes)
        Placement des éléments : Statique vs relatif
                               : Positionnement absolu
                               : Superposition avec z-index
                               : Unités adaptées
        
    section Conception visuelle (30 minutes)
        Maîtrise du style : Couleurs et opacité
                         : Ombres et effets
                         : Transitions
                         : Propriétés de transformation
        
    section Conception adaptative (45 minutes)
        Support multi-appareils : Requêtes media
                               : Mise en page flexible
                               : Approche mobile-first
                               : Optimisation du viewport
        
    section Techniques avancées (1 semaine)
        CSS moderne : Dispositions Flexbox
                    : Systèmes CSS Grid
                    : Propriétés personnalisées
                    : Images-clés d'animation
        
    section Compétences professionnelles (1 mois)
        Architecture CSS : Modèles de composants
                         : Code maintenable
                         : Optimisation des performances
                         : Compatibilité multi-navigateurs

🛠️ Résumé de votre boîte à outils CSS

Après cette leçon, vous avez maintenant :

  • Compréhension de la cascade : Comment les styles héritent et se remplacent
  • Maîtrise des sélecteurs : Ciblage précis avec éléments, classes et IDs
  • Compétences en positionnement : Placement stratégique et gestion des couches déléments
  • Design visuel : Création deffets verre, ombres et transparence
  • Techniques responsives : Mise en page en pourcentages qui sadapte à tout écran
  • Organisation du code : Structure CSS propre et maintenable
  • Pratiques modernes : Utilisation dunités relatives et design accessible

Prochaines étapes : Votre terrarium possède désormais structure (HTML) et style (CSS). La dernière leçon ajoutera de linteractivité avec JavaScript !

Devoir

Refactorisation CSS


Avertissement :
Ce document a été traduit à laide du service de traduction automatique Co-op Translator. Bien que nous nous efforcions dassurer lexactitude, veuillez noter que les traductions automatiques peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue dorigine doit être considéré comme la source faisant autorité. Pour des informations critiques, une traduction professionnelle réalisée par un humain est recommandée. Nous déclinons toute responsabilité en cas de malentendus ou dinterprétations erronées résultant de lutilisation de cette traduction.