Que veut dire CSS : définition & principales propriétés

Par Perrine Hermary

CSS, ça vous parle ? Si vous avez déjà mis le nez dans le HTML, alors vous avez sûrement déjà croisé cet acronyme. Peut-être avez-vous tenté de le deviner : Choice Style Super ? Raté ! En réalité, CSS signifie Cascading Style Sheets, ou en français : feuilles de style en cascade.

Mais qu’est-ce que cela veut dire concrètement ? Le mot « feuille » fait référence à un fichier. Le terme « style » évoque la mise en forme des éléments HTML (polices, couleurs, marges, etc.). Enfin, « cascade » indique que plusieurs feuilles de style peuvent se superposer, selon une logique de priorité bien définie. On parle ici d’un langage déclaratif qui sépare le fond (HTML) de la forme (CSS).

L’origine du CSS, son histoire dans le Web

Le CSS, ou Cascading Style Sheets, a été officiellement proposé en octobre 1994 par le développeur norvégien Håkon Wium Lie, alors en poste au CERN, l’organisation européenne pour la recherche nucléaire située près de Genève. Ce dernier publie le premier draft du langage CSS dans un document intitulé « Cascading HTML style sheets — a proposal », alors qu’il travaille aux côtés de Tim Berners-Lee, l’inventeur du World Wide Web.

À cette époque, le HTML (créé en 1991) était le seul langage utilisé pour structurer les contenus Web. Il ne séparait pas le fond (le contenu textuel) de la forme (la présentation graphique), ce qui posait de nombreux problèmes de lisibilité, de maintenance et d’accessibilité. Les balises HTML servaient à tout : afficher du texte, le colorer, le centrer… L’usage intensif de balises telles que <font>, <b> ou <center> produisait des pages Web surchargées de code, difficilement exploitables à grande échelle.

Håkon Wium Lie milite donc pour la création d’un langage qui permettrait de définir des styles séparément du HTML, facilitant ainsi la maintenance des sites et la cohérence graphique entre plusieurs pages. Peu après, Bert Bos, un ingénieur néerlandais travaillant à l’Université de Groningen, le rejoint dans cette initiative. Ensemble, ils affinent le concept et le présentent au W3C (World Wide Web Consortium), fondé en 1994 à Boston (MIT), avec pour mission de standardiser les technologies Web.

Le premier standard officiel, CSS1, est publié en décembre 1996. Il couvre les bases : polices, couleurs, marges, bordures, alignements. Mais l’adoption est lente. Les navigateurs de l’époque — Netscape Navigator et Internet Explorer — intègrent CSS de façon partielle et souvent incohérente. C’est l’un des freins majeurs à son adoption dans les premières années.

Il faut attendre le début des années 2000, avec la montée en puissance de Mozilla Firefox et la standardisation plus rigoureuse d’Internet Explorer 6, pour voir CSS réellement s’imposer. À cela s’ajoute l’apparition de frameworks CSS (comme Blueprint en 2006, Bootstrap en 2011) et la généralisation des bonnes pratiques de développement Web, qui permettent au CSS de devenir un outil incontournable.

Le terme « feuilles de style en cascade » fait référence à la manière dont les styles s’appliquent en cascade : les règles les plus spécifiques l’emportent sur les plus générales, ce qui permet une personnalisation fine tout en gardant une hiérarchie logique des styles.

Aujourd’hui, CSS est enseigné dans toutes les formations au développement Web, utilisé par plus de 98 % des sites web selon W3Techs, et continue d’évoluer sous l’égide du W3C avec la contribution d’éditeurs de navigateurs comme Google (Chrome), Mozilla (Firefox), Apple (Safari) et Microsoft (Edge).

Le CSS : De quoi s’agit-il sur le plan technique ?

Le CSS (Cascading Style Sheets) est un langage informatique dédié à la présentation des documents HTML ou XML. Il ne remplace pas le HTML — qui structure le contenu — mais intervient pour lui donner une apparence visuelle : couleurs, polices, espacements, mises en page, animations, transitions, etc.

Sur le plan technique, le CSS s’appuie sur un mécanisme de sélection : on cible un ou plusieurs éléments du DOM (Document Object Model) généré par le navigateur à partir du code HTML, puis on leur applique des propriétés de style. Chaque règle CSS est composée :

  • d’un sélecteur (par exemple body, h1, .menu, #header),
  • d’un ou plusieurs couples propriété/valeur définissant les styles à appliquer (par exemple : color: red;, font-size: 20px;).

Il existe trois principales façons d’utiliser le CSS :

  1. Fichier externe (recommandé) : on place les règles CSS dans un fichier à part, avec l’extension .css. Exemple : style.css. Ce fichier est ensuite lié au HTML avec la balise suivante dans la section <head> :
    <link rel="stylesheet" href="style.css">

    Cette méthode est idéale pour centraliser le design, réutiliser les styles sur plusieurs pages, et séparer clairement le fond de la forme.

  2. Style interne : les règles CSS sont placées dans une balise <style> au sein du <head> de la page HTML :
    <style>
      p {
        color: #333;
        line-height: 1.6;
      }
    </style>

    Utile pour des ajustements rapides ou des pages uniques.

  3. Style en ligne : les styles sont intégrés directement dans une balise HTML via l’attribut style. Par exemple :
    <p style="color: blue; font-size: 18px;">Texte stylisé</p>

    Cette méthode est à éviter en production, car elle mélange structure et présentation et complique la maintenance.

Un exemple de règles CSS


body {
  background-color: black;
  font-family: Georgia, serif;
  font-size: 30px;
}

h1 {
  font-size: 60px;
  color: blue;
  text-align: center;
}

h2 {
  font-size: 45px;
  color: green;
  padding-left: 10px;
}

L’interprétation du CSS par les navigateurs

Les navigateurs modernes (Chrome, Firefox, Safari, Edge…) possèdent un moteur de rendu CSS intégré (par exemple, Blink pour Chrome, Gecko pour Firefox, WebKit pour Safari). Ces moteurs parcourent le DOM généré par le HTML, puis appliquent les styles en cascade selon des règles bien précises de spécificité et d’héritage.

Le navigateur interprète les feuilles de style selon une hiérarchie : les styles en ligne priment sur les styles internes, eux-mêmes supérieurs aux styles externes. D’où le nom de feuilles de style en cascade. Cela permet de créer des systèmes de styles souples, réutilisables, tout en gardant un contrôle fin grâce à des sélecteurs plus ou moins spécifiques.

Les bonnes pratiques de structuration CSS

  • Respecter l’indentation (souvent deux ou quatre espaces) pour améliorer la lisibilité du code ;
  • Ne jamais oublier les accolades {} et les points-virgules ; pour chaque propriété ;
  • Utiliser des noms de classes explicites (par exemple .menu-principal, .btn-rouge) ;
  • Commenter les blocs de style avec /* */ pour garder une documentation rapide ;
  • Grouper les styles par composant ou par section du site pour faciliter la maintenance (méthodes BEM, OOCSS ou SMACSS recommandées).

Astuce : Apprenez à utiliser les outils de développement de votre navigateur (Inspecteur CSS) pour tester en direct vos modifications. Vous verrez en temps réel l’effet de vos règles CSS sur le rendu graphique.

Les enjeux du CSS de nos jours

Le CSS est un pilier du développement web moderne. Au-delà de son rôle décoratif, il structure la manière dont une page est perçue, rendue et interprétée selon les différents terminaux et contextes d’utilisation. Voici les principaux enjeux techniques liés à son utilisation :

  • Découpler la structure et la présentation : Le HTML fournit le squelette d’un document (structure sémantique), tandis que le CSS gère l’apparence visuelle. Cette séparation facilite la maintenance, améliore la lisibilité du code, et permet de réutiliser des styles sur plusieurs pages sans dupliquer l’information.
  • Adapter l’affichage à différents supports : Grâce aux @media queries, le CSS permet de conditionner le rendu selon le type d’appareil (ordinateur, smartphone, tablette, imprimante), la résolution, ou même les préférences de l’utilisateur (mode sombre, taille de texte). Cela a posé les bases du responsive design.
  • Gérer les priorités des règles de style (cascade) : L’un des fondements du CSS est son système de cascade. Lorsqu’un même élément reçoit plusieurs règles, le navigateur applique celle qui a la plus grande spécificité ou importance. Cela implique la prise en compte :
    • du type de sélecteur utilisé (élément, classe, ID, attribut, pseudo-classe, etc.) ;
    • de l’ordre d’apparition dans le code ;
    • de l’origine du style (navigateur, utilisateur, développeur, ou via un attribut style) ;
    • de l’usage éventuel de la directive !important.

Les versions de CSS

Le CSS a connu plusieurs étapes de normalisation depuis sa création en 1996 par le W3C. Chaque version a apporté des fonctionnalités nouvelles, des ajustements syntaxiques et une meilleure prise en charge des navigateurs. Voici un tableau comparatif des grandes versions du standard :

Version Description
CSS1 (1996) Première norme officielle. Mise en forme de base : polices, couleurs, marges, bordures, alignements.
CSS2 (1998) Ajout du positionnement absolu/relatif, gestion des media types (impression, écran) et intégration des tableaux HTML.
CSS2.1 (2004–2011) Version révisée de CSS2, visant à corriger les bugs d’implémentation dans les navigateurs tout en stabilisant la spécification.
CSS3 (depuis 2011) Scindé en modules : flexbox, grid, transitions, animations, media queries, typographies web, variables CSS. Base du responsive design.
CSS4 (non officiel) Pas une norme formelle mais un regroupement de modules avancés comme :has(), nesting, color-mix(). Toujours en développement par le W3C.

À noter : CSS4 n’est pas une spécification formelle comme les versions précédentes. Le W3C a adopté une approche modulaire depuis CSS3, chaque module évoluant à son propre rythme. Certains modules sont encore au stade de proposition ou de brouillon.

Que faut-il pour créer et appliquer du CSS ?

Pour développer efficacement avec CSS, deux éléments fondamentaux sont nécessaires :

  • Un éditeur de texte ou un IDE (environnement de développement intégré) pour écrire le code CSS. Parmi les plus populaires : Visual Studio Code, Sublime Text, Brackets, Notepad++ ou Atom.
  • Un navigateur web moderne comme Google Chrome, Firefox, Safari ou Microsoft Edge pour interpréter et afficher visuellement le rendu des styles appliqués à la structure HTML.

Pour lier une feuille de style externe à un document HTML, la méthode standard est d’ajouter ce lien dans l’en-tête <head> de la page HTML :

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

Pourquoi cette méthode est-elle recommandée ? Elle permet de centraliser toutes les règles CSS dans un seul fichier. Ainsi, une modification dans ce fichier .css affectera automatiquement toutes les pages HTML qui y sont liées. Cela permet une maintenance simplifiée, un code plus propre et un chargement plus rapide grâce à la mise en cache du fichier CSS par le navigateur.

Il existe toutefois plusieurs façons d’intégrer du CSS selon les besoins. Voici un tableau comparatif des trois méthodes d’inclusion CSS :

Méthode Description & utilisation
CSS externe
<link rel="stylesheet" href="style.css">
Méthode recommandée. Le fichier CSS est séparé du HTML. Idéal pour les projets professionnels et les sites multi-pages.
Maintenance facilitée et performance optimisée via le cache navigateur.
CSS interne
<style>...</style>
Placé dans la balise <head> du HTML. Pratique pour styliser une seule page ou pour des tests rapides.
Moins efficace pour des sites volumineux ou complexes.
CSS en ligne
<div style="color: red;">
Style appliqué directement dans la balise HTML via l’attribut style. Fortement déconseillé sauf cas exceptionnels (ex. : email HTML).
Ne respecte pas le principe de séparation structure/style.

Les propriétés CSS3 utiles sous forme de tableau

Voici une liste structurée des principales propriétés CSS3 classées par catégorie. Ce tableau vous aidera à mieux comprendre les possibilités qu’offre CSS en matière de mise en page, d’apparence et d’interaction :

Propriété Description / Utilisation
Typographie et texte
font-family Définit la police d’écriture utilisée (ex. : Arial, Georgia…)
font-size Contrôle la taille du texte (ex. : px, em, rem)
font-weight Définit l’épaisseur du texte (normal, bold, 100 à 900)
line-height Hauteur de ligne pour l’espacement vertical du texte
text-align Alignement horizontal : left, right, center, justify
text-decoration Ajoute ou retire les décorations comme les soulignés (underline, none, etc.)
letter-spacing Contrôle l’espacement entre les lettres
text-transform Transforme le texte (uppercase, lowercase, capitalize)
Couleurs et arrière-plan
color Définit la couleur du texte
background-color Change la couleur d’arrière-plan d’un élément
background-image Ajoute une image de fond
background-size Redimensionne l’image de fond (cover, contain…)
background-position Positionne l’image dans l’élément
background-repeat Répétition de l’image : repeat, no-repeat…
Modèle de boîte et mise en page
width / height Fixe la largeur et la hauteur des éléments
max-width / max-height Définit les dimensions maximales autorisées
padding Gère l’espace interne entre le contenu et la bordure
margin Gère l’espace externe entre les éléments
border Ajoute une bordure avec style, épaisseur et couleur
box-sizing Modèle de boîte : content-box ou border-box
Positionnement et visibilité
display Type d’affichage : block, inline, flex, grid, none…
position Positionnement de l’élément : static, relative, absolute, fixed, sticky
top / right / bottom / left Déplacement relatif selon la position choisie
z-index Contrôle la superposition des éléments (valeur entière)
overflow Gère le débordement du contenu : hidden, scroll, auto
visibility Masque sans retirer du flux : visible, hidden, collapse
Flexbox & Grid (mise en page avancée)
display: flex Active le mode Flexbox pour les enfants de l’élément
justify-content Alignement horizontal (flexbox)
align-items Alignement vertical (flexbox)
flex-wrap Permet ou non le retour à la ligne
display: grid Active le système de grille CSS Grid
grid-template-columns / rows Définit la structure des colonnes / lignes du grid
Animations et transitions
transition Applique une animation fluide lors d’un changement d’état
animation Définit une animation complète basée sur des keyframes
transform Transforme l’élément (rotation, échelle, translation…)
opacity Contrôle la transparence d’un élément (0 à 1)
Autres propriétés utiles
cursor Définit le type de curseur au survol (pointer, grab…)
box-shadow Ajoute une ombre portée à un élément
border-radius Arrondit les coins d’un bloc
filter Effets visuels : flou, contraste, saturation, etc.

Pour maîtriser toutes ces propriétés, l’idéal est de pratiquer avec des projets concrets et de consulter régulièrement la documentation officielle MDN CSS. Le CSS est incontournable dans la création de sites modernes. Il permet une personnalisation fine, un affichage adapté à tous les écrans, et une maintenance plus simple. Apprendre à l’utiliser, c’est se doter d’un vrai levier de créativité et de performance. Et si vous débutez, amusez-vous avec quelques tests en liant votre page HTML à un fichier CSS externe. Changez les couleurs, les tailles de texte, les espacements. En observant le rendu visuel, vous verrez à quel point le CSS vous donne le contrôle. Retrouvez d’autres ressources pour apprendre à coder sur notre blog dédié à la création de sites.

Perrine Hermary

Perrine Hermary

Auteure, conceptrice Web. Je m'occupe du Webdesign, du SEO, de la rédaction web et de l'intégration de contenus web.

0 commentaires

Besoin de visibilité ?

☑️ Experts du référencement

☑️ + de 12 ans d’éxpérience

☑️ + 500 clients satisfaits

☑️ Création de sites

☑️ Audit SEO

☑️ Conseil SEO

☑️ Référencement de sites

☑️ Devis gratuit