Inline, interne ou externe — comprendre les méthodes et leur ordre de priorité.
style)Les styles sont écrits directement sur l'élément HTML avec l'attribut style.
<p style="color: blue; font-size: 18px;">
Ce texte est bleu et mesure 18px.
</p>
{} ni de séparateur de propriété — tout est dans la valeur de style.:hover, ::before...).<style>)Les styles sont écrits dans une balise <style> placée dans le <head> du document HTML.
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Page avec CSS interne</title>
<style>
h1 {
color: navy;
font-size: 2rem;
}
p {
line-height: 1.6;
color: #333;
}
</style>
</head>
<body>
<h1>Titre</h1>
<p>Paragraphe stylisé.</p>
</body>
</html>
.css séparé)C'est la méthode professionnelle et recommandée. Le CSS est dans un fichier séparé, lié via la balise <link>.
mon-projet/
├── index.html
├── style.css
├── pages/
│ ├── about.html
│ └── contact.html
└── css/
├── global.css
└── components.css
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Mon site</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1 class="titre">Bienvenue</h1>
<p class="texte">Ceci est un paragraphe.</p>
</body>
</html>
/* style.css */
.titre {
color: #1e293b;
font-size: 2rem;
margin-bottom: 0.5rem;
}
.texte {
color: #64748b;
line-height: 1.6;
}
On peut inclure plusieurs fichiers CSS dans une même page :
<head>
<!-- Reset CSS -->
<link rel="stylesheet" href="css/reset.css">
<!-- Styles globaux -->
<link rel="stylesheet" href="css/global.css">
<!-- Styles des composants -->
<link rel="stylesheet" href="css/components.css">
<!-- Styles de la page -->
<link rel="stylesheet" href="css/page-accueil.css">
</head>
<link> compte ! Si deux fichiers définissent la même propriété pour le même élément, c'est le dernier fichier qui gagne (en l'absence d'autre facteur de cascade).
Quand les trois méthodes s'appliquent au même élément, voici l'ordre de priorité (du plus fort au plus faible) :
| Priorité | Méthode | Exemple |
|---|---|---|
| 1 (plus forte) | Inline (style="...") |
<p style="color: red;"> |
| 2 | Interne (<style>) |
<style>p { color: blue; }</style> |
| 3 (plus faible) | Externe (<link>) |
link rel="stylesheet" href="style.css" |
Démonstration :
<!-- Fichier externe : style.css -->
<!-- p { color: green; } -->
<head>
<link rel="stylesheet" href="style.css"> <!-- 3ème priorité -->
<style>
p { color: blue; } <!-- 2ème priorité -->
</style>
</head>
<body>
<p style="color: red;">Ce texte sera ROUGE</p>
<!-- 1ère priorité (inline) -->
</body>
rel="stylesheet"
<!-- FAUX — le navigateur ignorera le fichier CSS -->
<link href="style.css">
<!-- CORRECT -->
<link rel="stylesheet" href="style.css">
<!-- Si la structure est : -->
<!-- projet/
├── index.html
└── css/style.css -->
<!-- FAUX -->
<link rel="stylesheet" href="style.css">
<!-- CORRECT -->
<link rel="stylesheet" href="css/style.css">
<link> dans le <body>
<!-- FAUX — doit être dans <head> -->
<body>
<link rel="stylesheet" href="style.css">
</body>
<!-- CORRECT -->
<head>
<link rel="stylesheet" href="style.css">
</head>
Exercice : Les trois méthodes
index.html.<p id="test">Bonjour</p>.<style> dans le <head> qui rend le texte bleu.style.css et lie-le avec <link>. Définis color: green.Projet : Mini-page avec CSS externe
Crée une page HTML contenant :
Crée un fichier style.css séparé et applique :
:hover dans le CSS externe).Ce projet te confirme que le CSS externe peut gérer tous les styles d'une page, y compris les pseudo-classes.
Quiz rapide
<link> ?:hover avec le CSS inline ?<link> est-il important ?