🎨 CSS - La mise en forme
C'est quoi le CSS ?​
Le CSS est un langage qui permet de styliser les éléments d'un site web. Il est utilisé pour définir la couleur, la police, la taille, etc. des éléments du site.
Ecrire du CSS​
Pour écrire du CSS, il faut d'abord un fichier HTML. Voici celui qu'on utilisera pour apprendre à écrire du CSS :
<!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8" />
<title>Démarrer avec CSS</title>
</head>
<body>
<h1>Je suis un titre de niveau un</h1>
<p>
Ceci est un paragraphe. Dans ce texte il y a un
<span>élément span</span> et aussi un
<a href="http://example.com">lien</a>.
</p>
<p>
Ceci est un second paragraphe. On y trouve un élément
<em>mis en valeur</em>.
</p>
<ul>
<li>Item un</li>
<li>Item deux</li>
<li>Item <em>trois</em></li>
</ul>
</body>
</html>
Nous allons également créer un fichier CSS nommé style.css qui sera pour le moment vide.
Le fichier HTML et le fichier CSS doivent ĂŞtre dans le mĂŞme dossier.
Pour lier le fichier HTML à un fichier CSS, il faut utiliser la balise suivante placée dans le <head> du fichier HTML :
<link rel="stylesheet" href="style.css" />
Pour tester le lien, on ajoute cette instruction au fichier CSS:
h1 {
color: red;
}
A votre avis, que fait le code CSS ci-dessus ?
Les instructions CSS utiles​
Toutes les instrcutions CSS sont décrites dans la documentation de MDN.
Je vous présente ici quelques instructions CSS utiles que vous pouvez utiliser pour commencer à écrire du CSS.
Les sélecteurs​
Pour selectionner un élément HTML, il faut utiliser un sélecteur CSS. Il existe 3 types de sélecteurs :
- les sélecteurs de type "tag" qui sélectionnent tous les éléments HTML du même type ;
- les sélecteurs de type "id" qui sélectionnent un élément HTML avec un attribut
id; - les sélecteurs de type "class" qui sélectionnent un élément HTML avec un attribut
class;
Voici un exemple de sélecteur de type "tag" :
h1 {
color: red;
}
Ce sélecteur sélectionne tous les éléments HTML de type <h1> et les met en rouge.
Pour les deux autres types de sélecteurs, il faut ajouter un attribut id ou class à l'élément HTML.
L'attribut id permet de sélectionner un élément HTML avec un identifiant unique. Cela signifie qu'il ne peut pas y avoir 2 éléments HTML avec le même attribut id.
Contrairement à l'attribut id, l'attribut class permet de sélectionner un ou plusieurs éléments HTML. Il peut y avoir plusieurs éléments HTML avec le même attribut class, c'est même tout l'intérêt de l'utiliser.
<p id="super-paragraphe">Ceci est un paragraphe.</p>
<p> Ceci est un autre paragraphe.</p>
#super-paragraphe {
color: red;
}
Pour sélectionner un élément HTML avec son id on utilise la syntaxe # + l'identifiant.
Par exemple #super-paragraphe sélectionne l'élément HTML avec l'identifiant "super-paragraphe".
Ce sélecteur sélectionne l'élément HTML <p> avec l'attribut id "super-paragraphe" et le met en rouge.
<p class="paragraphe">Ceci est un paragraphe.</p>
<p class="paragraphe"> Ceci est un autre paragraphe.</p>
<p> Ceci est encore un autre paragraphe.</p>
.paragraphe {
color: red;
}
Pour sélectionner un élément HTML avec son class on utilise la syntaxe . + le nom de la classe.
Par exemple .paragraphe sélectionne l'élément HTML avec la classe "paragraphe".
Pour t'entrainer à utiliser les sélecteurs, tu peux jouer à CSS Diner.
Pour les plus avancés, tu peux aussi jouer à CSS Speedrun.
Polices d'écriture​
Taille de police​
font-size: 20px;
Il existe plusieurs unités de mesure pour la taille de police, on peut utiliser :
pxpour la taille en pixels ;rempour la taille par rapport à la taille de la police par défaut ;
Police​
font-family: Comic Sans MS;
Couleur de police​
color: red;
Pour les couleurs, on peut utiliser les noms de couleurs prédéfinis ou les codes hexadécimaux.
Par exemple :
redpour la couleur rouge ;#ff0000pour la couleur rouge avec un code hexadécimaux.
Tailles​
height: 100px;
width: 100px;
De la même manière que pour la taille de police, il existe plusieurs unités de mesure pour les tailles, on peut utiliser :
pxpour la taille en pixels ;rempour la taille par rapport à la taille de la police par défaut ;%pour la taille par rapport à la taille du conteneur ;
Fond​
Couleur de fond​
background-color: red;
Pour les couleurs, on peut utiliser les noms de couleurs prédéfinis ou les codes hexadécimaux.
Par exemple :
redpour la couleur rouge ;#ff0000pour la couleur rouge avec un code hexadécimaux.
Bordures​
border: 1px solid red;
Espacement​
Pour gérer l'espacement, on peut utiliser 2 propriétés :
paddingpour gérer l'espacement interne à un élément ;marginpour gérer l'espacement externe à un élément.

padding: 10px;
margin: 20px;
Pour spécifier l'espacement uniquement sur un coté, on peut utiliser les propriétés :
padding-toppour le haut ;padding-bottompour le bas ;padding-leftpour la gauche ;padding-rightpour la droite ;
Pareil pour margin.
Flexbox​
La flexbox est une méthode de mise en page qui permet de faire des mises en page complexes. Elle permet de définir des éléments comme étant en colonne ou en ligne, de les aligner verticalement ou horizontalement, et de les distribuer de manière égale.

Pour apprendre à utiliser la flexbox, entrainez-vous grâce au jeu sur Flexbox Froggy.
Activités​
Création d'un CV web​
Un CV est un document qui contient des informations sur une personne. Il est utilisé dans le cadre de l'obtention d'un emploi.
Votre mission est maintenant de créer la structure HTML d'un CV web puis de la mettre en forme avec du CSS.
Pour créer un CV web, on va utiliser les balises suivantes :
<h1>,<h2>,<h3>,<h4>,<h5>,<h6>pour les titres de niveaux ;<p>pour les paragraphes ;<ul>pour les listes à puces ;<li>pour les éléments de listes à puces ;<a>pour les liens hypertextes ;<img>pour les images ;<div>pour les éléments de division ;<span>pour les éléments de division ;
Voici un exemple de CV :

Création d'une carte TCG (Pokémon, One Piece, etc...)​
Les TCG (Trading Card Game ou Jeu de Cartes Ă Jouer et Ă Collectionner) sont des jeux de cartes qui permettent de jouer des jeux de cartes avec des amis ou des joueurs distants.
Il existe de nombreux jeux de cartes, mais voici quelques exemples :
- Pokémon
- One Piece
- Yu-Gi-Oh
- Magic: The Gathering
Notre mission aujourd'hui va être de créer une version Web d'une carte TCG.


Pour vous aider, voici une guide pour la disposition simplifiée des flexbox d'une carte Pokémon :
- Chaque rectangle correspond Ă un bloc qui pourra ĂŞtre:
<div class=""></div><span class=""></span>- ou un élément HTML avec un attribut
classou unid


- Voici un code HTML de base pour une carte :
<html lang="fr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Carte TCG Pokémon - Prototype</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="card-wrapper" role="img" aria-label="Carte Pokémon prototype"></div>
</body>
</html>
- Voici un code css à compléter pour une carte :
body{
min-height:100vh;
display: flex;
align-items: center;
justify-content: center;
background: black;
padding: 40px;
box-sizing: border-box;
}
.card-wrapper{
width: 350px;
height: 490px;
border-radius: 14px;
background: linear-gradient(180deg,#f5b431 0%, #ffe488 60%);
box-shadow: 0 14px 30px rgba(0,0,0,0.25);
position: relative;
overflow: hidden;
border: 12px solid #b7b7b7; /* thin inner border */
display: flex;
flex-direction: column;
}
Voici un Exemple de carte Pokémon.