Aller au contenu

WEB02 — Langages du Web (2) : CSS3 (Mise en forme)

🎯Objectifs et Compétences

L'objectif est d'apprendre à styliser une structure existante en utilisant des feuilles de style pour séparer le fond de la forme.

Capacités attendues

Capacités visées Description
Distinguer Séparer la description (HTML) du comportement (JavaScript) et de la forme (CSS)
Styliser Utiliser des sélecteurs, des propriétés et des valeurs pour modifier l'apparence.
Mettre en page Manipuler le modèle de boîte pour organiser les éléments du Dashboard.

1. Introduction : Quel est le rôle du CSS ?

  • Notion : Le CSS (Cascading Style Sheets) définit l'apparence visuelle.
  • Analogie : Si le HTML est le squelette et les briques, le CSS est la peinture, la décoration et la disposition des meubles.
  • Liaison : On lie le CSS au HTML via la balise <link> dans le <head>. ⚠️ Attention : le nom du fichier dans le code doit être exactement le même que celui enregistré sur votre ordinateur.
<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Mon Dashboard Domotique</title>

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

</head>
<body>

    <header>
        <h1>Mon Dashboard</h1>
    </header>

    <main>
        <section>
            <h2>Salon</h2>
            <p>La température actuelle est de 21°C.</p>
            <button type="button">Allumer</button>
        </section>
    </main>

</body>
</html>
/* 1. Style global du document */
body {
    background-color: #f4f7f6; /* Gris très clair */
    color: #333;
    line-height: 1.6;
    margin: 20px;
}

/* 2. Titres */
h1 {
    color: #2c3e50;
    text-align: center;
    border-bottom: 2px solid #e67e22;
    padding-bottom: 10px;
}

h2 {
    color: #e67e22;
    margin-top: 30px;
}

/* 3. Le Modèle de Boîte (Box Model) appliqué aux sections */
section {
    background: white;
    padding: 20px;
    margin-bottom: 20px;
}

/* 4. Style des composants d'interaction (Boutons) */
button {
    background-color: #3498db;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    font-weight: bold;
}

/* Effet au survol (Hover) */
button:hover {
    background-color: #2980b9;
}

/* Bouton spécifique pour "Éteindre" */
button:nth-of-type(even) {
    background-color: #e74c3c;
}

button:nth-of-type(even):hover {
    background-color: #c0392b;
}

/* 5. Images */
img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    display: block;
    margin: 10px 0;
}

2. Le Modèle de Boîte (Box Model) 📦

C'est le concept le plus important du CSS. Chaque élément HTML est considéré comme une boîte.

  • Content : Le texte ou l'image.

  • Padding (Marge intérieure) : L'espace entre le contenu et la bordure (le "rembourrage").

  • Border (Bordure) : Le contour de l'élément.

  • Margin (Marge extérieure) : L'espace pour s'éloigner des autres éléments voisins.

Astuce : Utilisez l'inspecteur du navigateur (F12) pour visualiser ces zones en couleurs !

3. Syntaxe et Sélecteurs

Une règle CSS: selecteur { propriete: valeur; }

  • Sélecteurs de balises : Ciblent tous les éléments d'un type (ex: h1, p, button).

  • Propriétés courantes :

    • color : Couleur du texte.

    • background-color : Couleur de fond.

    • font-size : Taille de la police.

    • border : Bordure autour de l'élément.

Thématique Propriété Description
Texte color Couleur (ex: red, #FF5733, rgb(0,0,0))
font-family Choix de la police (ex: 'Arial', sans-serif)
font-size Taille du texte (ex: 16px, 1.2em, large)
text-align Alignement horizontal (ex: left, center, right, justify)
font-weight Épaisseur (gras) (ex: bold, normal, 600
Fond background-color Couleur de l'arrière-plan (ex: white, transparent)
background-image Image d'arrière-plan (ex: url('fond.jpg'))
Modèle de Boîte width / height Largeur et Hauteur (ex: 200px, 50%, auto)
padding Marge intérieure (ex: 10px (entre contenu et bordure) )
margin Marge extérieure (ex: 20px (entre l'élément et ses voisins) )
border Bordure (taille, style, couleur) (ex: 2px solid black)
border-radius Coins arrondis
Affichage display Type d'affichage (ex: block, inline, flex, none)
box-shadow Ombre portée (ex: 2px 2px 5px grey)
opacity Transparence (ex: 0.5 (de 0 à 1) )
Interactivité :hover Change l'aspect au survol de la souris

4. Mini-projet : Dashboard Domotique (Phase 2)

Objectif : Transformer votre dashboard brut en interface moderne.

  • Créez style.css et liez-le dans votre HTML.

  • Appliquez une police sans-serif au body.

  • Ajoutez des ombres (box-shadow) et des arrondis (border-radius) à vos sections.

  • Défi : Créez une transition fluide sur vos boutons avec transition: 0.3s;.

Objectif : Transformer votre fichier brut de la séance S37 en une interface moderne.

Liste de contrôle du projet

Le fichier style.css est correctement lié (les changements sont visibles).

Distinction nette entre margin et padding.

L'interface est plus lisible et aérée que la version HTML pure.

Validation W3C. le W3C Validator permet de valider la synthaxe du code

4. Synthèse

  • Le CSS permet de centraliser la mise en forme.

  • On utilise des propriétés et des valeurs (ex: color: blue;).

  • Le modèle de boîte gère l'espacement et les bordures des éléments.