Pour cette séance, nous allons commencer avec un tout nouveau dossier.
Crée un nouveau dossier cartes. Fais un click droit et selectionne New Folder.
Ensuite glisse le dossier dans ton éditeur de texte (Sublime Text, par exemple), et crée les deux fichiers habituels:
drapeau/
|-- index.html
|-- style.css
👇🏽 Voici une animation qui te montre comment proceder:
Petit rappel :
Pour selectionner des boites d'un fichier codé en HTML depuis un fichier codé en CSS, on doit commencer par lier les deux fichiers.
Dans la section <head> de ton fichier index.html, ajoute la ligne 5 afin de le lier avec le fichier style.css.
<!DOCTYPE html>
<html>
<head>
...
<link href="style.css" rel="stylesheet" />
</head>
A quoi ressemble une carte ?
Avant de coder cette carte, on va regarder de plus pres la structure de cette dernière.
Prends 📝 un crayon et une feuille de papier (je sais... 🤯 pour coder), et dessine les boites que tu vois (de la plus grande > à la plus petite).
Afin de donner du style à la carte, il faut pouvoir donner un nom clair aux boites qui composent cette carte.
Attention:
Garde bien en tête que l'objectif est ensuite de pouvoir selectionner ces boîtes depuis le fichier CSS
selecteur{
propriété: valeur;
}
Question : A ton avis, on va donner des class ou des id à nos boites ?
PAR EXEMPLE : la semaine dernière, pour l'exercice du drapeau canadien 🇨🇦, nos boites ressemblaient à ceci 👇
👇 Voici une solution possible pour nommer tes boites. Pour la suite de l'exercice, nous allons continuer avec cette solution.
class pour carte ?
Maintenant il faut coder la carte 💪🏽
Dans le fichier index.html, nous allons donc créer une première div qui va avoir une class appellée carte. Celle-ci contient 3 autres div qui ont des class différentes :
<body>
<div class="carte">
<div class="avatar"></div>
<div class="description"></div>
<div class="scores">
‹–– #A FAIRE: code içi la div .score ––›
‹–– #A FAIRE: code içi la div .score ––›
‹–– #A FAIRE: code içi la div .score ––›
</div>
</div>
</body>
Il est temps de donner du style à notre carte 👘.
Petit rappel :
Pour selectionner depuis style.css une boite avec une class, on utilise le .
.carte{
height: 300px;
width: 100px;
background-color: #cce5ff;
border: 1px solid black;
border-radius: 10px;
box-shadow: 1px 1px 5px -2px black;
padding: 10px;
}
Open in Browser afin de visualiser le résultat.
CSS pour les boites qui sont à l'interieur de notre magnifique carte 🌈
Notre avatar va faire 40% de la hauteur de notre carte. Ca te parait bien ? 🧐
.avatar{
height: 40%;
width: 100%;
background-color: #1DB100;
border: 1px solid #3D7F25;
}
Notre description va également occuper 40% de la hauteur de notre carte.
.description{
height: 👉 AJOUTE LA BONNE VALEUR ICI 👈;
width: 100%;
background-color: #D41876;
border: 1px solid #97265C;
}
La grande boite .scores va occuper l'espace restant. C'est à dire ?
.scores{
height: 👉 AJOUTE LA BONNE VALEUR ICI 👈;
width: 100%;
background-color: #00AB8E;
border: 1px solid #3B8370;
padding: 1px;
}
Quelles sont les dimensions des petites boites .score par rapport à la boite .scoreS?
.score{
height: 👉 AJOUTE LA BONNE VALEUR ICI 👈;
width: 👉 AJOUTE LA BONNE VALEUR ICI 👈;
background-color: #0076BA;
border: 1px solid #265889;
}
👏 Bravo!
Il y a un petit probleme quand même. Nos boites .score sont les unes sur les autres 😅
Rappel: Afin d'aligner des boites horizontalement, tu peux utiliser la propiété suivante:
display: flex;
Le tout est de mettre cette propriété au bon endroit... 👩🏽💻.
👇 Voici le code qui solutionne notre petit soucis :
.scores{
AJOUTE CETTE LIGNE
display: flex;
}
🎉 Félicitations d'être arrivé aussi loin!
Nous n'avons toujours pas notre image dans la boite .avatar
On veut que notre image prenne la taille de la boite .avatar, sans qu'elle ne se déforme. Pour y arriver, on introduit un nouveau concept. C'est celui de :
background-image: url("AjOuTe UnE AdReSsE d'ImAgE iCi");
Si tu te rends compte qu'il y a un souci avec ton image, voici un peu de lecture. On corrige à la prochaine séance 🤓.
Pour commencer cette 11eme étape, nous allons emballer notre carte.
Commence par ajouter ce code dans ton fichier style.css :
.emballage{
padding-top: 40px;
padding-bottom: 40px;
margin-bottom: 40px;
border: 10px solid #673ab7;
position: relative;
}
A ton avis, comment vas t on emballer notre carte dans le fichier index.html ?