Cours CSS / Appliquer des styles en ligne, internes et externes
Vous pouvez appliquer le CSS via l'attribut style d'un élément, un élément style dans le document HTML ou une feuille de style externe liée. Les feuilles de style externes sont généralement plus faciles à maintenir sur plusieurs pages, tandis que les autres méthodes conviennent à des utilisations plus petites et spécifiques.
Comparez les trois façons d'appliquer le CSS
| méthode | Emplacement du code | situation appropriée | Points de maintenance |
|---|---|---|---|
| En ligne | attribut style de l’élément HTML | Lors de la vérification d'une représentation simple d'un élément | Répéter le même design sur plusieurs éléments rend les modifications fastidieuses. |
| Interne | élément style dans le head du document HTML | Exemples d'une seule page ou styles pour des pages spécifiques | Si vous copiez vers plusieurs HTML, vous devrez modifier chaque fichier. |
| Externe | fichier .css séparé et élément link dans le document HTML | Conception commune pour plusieurs pages | Vous devez vérifier le chemin du fichier et l'état de la connexion. |
Les trois méthodes appliquent le CSS. Les règles internes et externes ordinaires se concurrencent selon la cascade, y compris leurs sélecteurs et l'ordre des sources ; un fichier externe n'est pas intrinsèquement plus faible. Les déclarations en ligne ont généralement la priorité sur les déclarations normales de la feuille de style de l'auteur, mais certaines conditions comme !important changent cette comparaison. Pour plus de détails, voir CSS Héritage, Spécificité et Cascade.
Écrire des styles en ligne et internes
Dans les styles en ligne, vous écrivez la déclaration à l'intérieur de l’attribut style de l'élément que vous souhaitez décorer. Aucun sélecteur ni accolade externe n'est inclus. Le code suivant spécifie la couleur et le fond pour un seul texte-guide.
<p style="color: #087f5b; background-color: #e9f7ef;">
We open at 9 a.m. every day.
</p>
Dans la feuille de style interne, les règles incluant les sélecteurs et les accolades sont écrites dans l'élément style à l'intérieur de head. Plusieurs phrases avec la même classe peuvent être décorées avec une seule règle. Dans l'exemple ci-dessous, la valeur de la classe HTML est notice et le sélecteur CSS est .notice.
<head>
<style>
.notice {
color: #087f5b;
background-color: #e9f7ef;
}
</style>
</head>
<body>
<p class="notice">We open at 9 a.m. every day.</p>
</body>
Les deux exemples sont des extraits de HTML pour comparer où ils sont écrits. Lors du changement de méthodes dans cet exercice, supprimez toutes les déclarations des mêmes propriétés que vous avez mises avec la méthode précédente. Laisser plusieurs méthodes en même temps rend difficile la distinction entre les échecs de connexion et les conflits de règles.
Lier une feuille de style externe
Créez un dossier garden vide et enregistrez les trois fichiers suivants : Le fichier CSS contient uniquement du CSS et n'inclut pas la balise <style>. Les deux fichiers HTML se lient à style.css dans le même dossier.
garden/
├─ index.html
├─ visit.html
└─ style.css
index.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Small Garden</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>Small Garden</h1>
<p class="notice">We open at 9 a.m. every day.</p>
<a href="visit.html">View visitor information</a>
</body>
</html>
visit.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Visitor Information</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>Visitor Information</h1>
<p class="notice">Bring a water bottle and comfortable shoes.</p>
<a href="index.html">Return to the garden introduction</a>
</body>
</html>
style.css
body {
margin: 24px;
font-family: sans-serif;
line-height: 1.7;
}
h1 { color: #087f5b; }
.notice {
padding: 16px;
border: 1px solid #087f5b;
background-color: #e9f7ef;
}
rel="stylesheet" signifie que le fichier connecté est une feuille de style, et href="style.css" est l'emplacement du fichier à lire. Dans les documents HTML5, il n'est pas nécessaire d'écrire séparément type="text/css" dans les connexions CSS ordinaires. Cet exercice, qui ouvre directement les fichiers locaux, ne nécessite pas de serveur ni de bibliothèques supplémentaires.
Lorsque vous ouvrez index.html dans votre navigateur, vous verrez un titre vert et une boîte d'information de couleur claire. Cliquez sur « View visitor information » (informations pratiques) pour aller à visit.html, et bien que le contenu soit différent, la couleur du titre et la forme de la boîte d'information sont les mêmes. Si vous changez la couleur du titre de style.css en #1d4ed8, puis rechargez les deux pages, les deux titres deviendront bleus. C'est l'avantage d'utiliser des fichiers communs.
Choisissez un chemin pour la structure du dossier
Le chemin ci-dessous est lu en fonction de l'emplacement du document HTML. Comme dans l'exemple, la prémisse est un document régulier dont l'URL de base n'a pas été remplacée par l'élément base. Si vous déplacez le fichier CSS, vous devez changer non seulement le nom du fichier mais aussi href.
| emplacement du fichier | Code de lien dans index.html | Emplacement de lecture |
|---|---|---|
| index.html et style.css dans le même dossier | href="style.css" |
style.css dans le dossier contenant le fichier HTML. |
| garden/index.html, garden/css/style.css | href="css/style.css" |
dossier css sous le dossier HTML |
| garden/pages/index.html, garden/css/style.css | href="../css/style.css" |
Remontez au dossier parent garden, puis accédez à son sous-dossier css. |
garden/
├─ pages/
│ └─ index.html
└─ css/
└─ style.css
Pour la dernière organisation des dossiers, écrivez <link rel="stylesheet" href="../css/style.css"> dans pages/index.html. Le segment ../ monte d'un répertoire. Les chemins web utilisent des barres obliques (slashes). Une barre oblique au début, comme dans /css/style.css, se résout depuis la racine du site et a une signification différente de ce chemin relatif au fichier local. Voir MDN : Commencer.
Diagnostiquer les problèmes de chargement, de correspondance et de cascade
- Tout d'abord, vérifiez la connexion du fichier. Vérifiez que l'extension n'est pas enregistrée en tant que
.css.txtet que le href et l'emplacement réel du dossier correspondent. Sur un serveur web, respectez aussi les majuscules et les minuscules des noms de fichiers. Si la page est ouverte sur un serveur web, vous pouvez vérifier la requête et la réponse CSS dans l'onglet Réseau des Outils de développement. Les fichiers locaux peuvent ne pas afficher le même code de statut HTTP. - Vérifiez que le sélecteur correspond à l’élément cible. Si le HTML contient
class="notice", mais que.notcieest écrit en CSS, la notification ne changera pas même si le fichier est lu normalement. Dans les Outils de développement, consultez le nom réel de la classe sous Éléments et repérez la règle dans Styles. - Vérifiez si la règle a été écrasée. Si une déclaration de couleur différente l'emporte plus tard, la déclaration originale peut apparaître barrée dans Styles. Veuillez vérifier les règles finales d'application séparément des problèmes liés aux fichiers CSS manquants.
Pour vérifier si la feuille de style se charge, ajoutez temporairement body { background-color: #fff4cc; } à sa fin et actualisez. Une page jaune confirme que le fichier est connecté. Ensuite, inspectez si le sélecteur de notice correspond et si une autre déclaration l'emporte. Retirez ensuite la règle temporaire. !important ne peut pas réparer un fichier manquant ou un sélecteur mal orthographié. Pour plus de détails, voir Inspecter le CSS avec DevTools : Styles et Calculé.




