Langues

Ceci est une traduction. Elle peut avoir des erreurs ou être dépassée par rapport à la version anglaise. Traducteur(-trice): Coralie Mercier

Tutoriel CSS
débuter avec HTML + CSS

Contenu

Ce court tutoriel est destiné à  ceux qui commencent à  utiliser CSS et n'ont jamais écrit de feuille de style CSS.

Il n'explique pas CSS en profondeur. Il explique comment créer un fichier HTML, un fichier CSS et comment les faire fonctionner ensemble. Après cela, vous pourrez lire d'autres tutoriels afin d'ajouter plus de caractéristiques à  vos fichiers HTML et CSS. Ou bien vous pouvez utiliser un éditeur HTML ou CSS afin de mettre en place des sites complexes.

A la fin de ce tutoriel, vous aurez fait un fichier HTML qui ressemble à  cela:

[Lien vers la page HTML finale]

Page HTML résultante, couleurs et disposition effectuées avec CSS.

Notez que je ne prétends pas que c'est joli :)

Attention! Explication avancée: Voici un exemple de section optionelle. Elles contiennent des explications supplémentaires du langage HTML etTML et du code CSS des exemples. L'icone "alerte!" qui les précède indique que la section contient des informations plus avancéees que le reste.

Etape 1: Le langage HTML

Pour ce tutoriel, je vous recommande d'utiliser des outils simples comme Blocnote (Windows), TextEdit (Mac) ou KEdit (KDE). Une fois que vous aurez intégré ces principes, vous pourrez facilementement utiliser des outils plus avancés, ou des logiciels commerciaux tels que Style Master, Dreamweaver ou GoLive. Cependant pour votre première feuille de style CSS, il vaut mieux que vous ne soyiez pas distrait par de nombreuses caractéristiques avancées.

N'utilisez pas un logiciel de traitement de texte, tels que Microsoft Word ou OpenOffice, car ils produisent des fichiers qu'un navigateur Web ne sait pas lire. Pour HTML et CSS, nous voulons de simples fichiers texte.

L'étape 1 est d'ouvrir votre éditeur de texte (Notepad, TextEdit, KEdit, etc., quel que soit votre éditeur favori), de commencer avec une fenêtre vide et de taper ceci:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
  <title>Ma première page avec du style</title>
</head>

<body>

<!-- Menu de navigation du site -->
<ul class="navbar">
  <li><a href="index.html">Home page</a>
  <li><a href="reflexions.html">Réflexions</a>
  <li><a href="ville.html">Ma ville</a>
  <li><a href="liens.html">Liens</a>
</ul>

<!-- Contenu principal -->
<h1>Ma première page avec du style</h1>

<p>Bienvenue sur ma page avec du style! 

<p>Il lui manque des images, mais au moins, elle a du style. Et elle a desliens, même s'ils ne mènent nulle part...
&hellip;

<p>Je devrais étayer, mais je ne sais comment encore.

<!-- Signer et dater la page, c'est une question de politesse! -->
<address>Fait le 5 avril 2004<br>
  par moi.</address>

</body>
</html>

En fait, vous n'avez pas à le taper: vous pouvez le copier et coller depuis cette page Web dans votre éditeur.

(Si vous utilisez TextEdit sur Mac, n'oubliez pas de dire à TextEdit qu'il s'agit de texte simple; pour ceci, allez au menu Format et sélectionnez "Convertir au format Texte".)

Attention! Explication avancée: La première ligne du fichier HTML ci-dessus dit au navigateur de quel type d'HTML il s'agit (DOCTYPE signifie DOCument TYPE). Dans ce cas, il s'agit de la version 4.01 d'HTML.

Les mots à l'intérieur de < et > sont nommés balises et comme vous pouvez le voir, le document est contenu à l'intérieur des balises <html> et </html>. Entre <head> et </head> se trouve la place pour des informations variées qui ne sont pas affichées à l'écran. A ce stade, il contient le titre du document, mais plus tard, nous y ajouterons la feuille de style CSS.

Le <body> est l'emplacement du texte à proprement parler de notre document. En principe, tout ce qui s'y trouve sera affiché, à l'exception du texte contenu entre entre <!-- et -->, qui sert de commentaire pour nous-même. Le navigateur ignorera ce texte.

Parmi les balises de l'exemple, <ul> introduit une "Liste non ordonnée", c'est à dire une liste dans laquelle les éléments ne sont pas numérotés. La balise <li> est le début d'un "élément de liste ". Le <p> est un "paragraphe". Et le <a> est une "ancre", ce qui crée un hyperlien.

le code source HTML affiché par Subethaedit

L'éditeur Subethaedit affichant le code source HTML.

Attention! Explication avancée: Si vous désirez connaître la signification du contenu d'un <…>, je vous recommande de commencer avec Getting started with HTML. Mais permettez-moi de vous livrer quelques mots sur la structure de la page HTML en exemple.

Notez que je n'ai pas fermé les éléments "li" et "p". En langage HTML (mais pas en XHTML), il est permis d'omettre les balises </li> et </p>, ce que j'ai fait là, afin de rendre le texte un peu plus facile à lire. Mais vous pouvez les ajouter, si vous préférez.

Admettons qu'il s'agira d'une page d'un site Web contenant plusieurs pages similaires. Comme dans beaucoup de pages Web actuelles, celle-ci a un menu avec des liens vers d'autres pages de notre site hypothétique, un contenu unique ainsi qu'une signature.

Sélectionnez maintenanttenant "Sauver-sous…" depuis votre menu Fichier, naviguez vers le répertoire/dossier où vous voulez sauver votre fichier (le Bureau est tout à fait convenable) et sauvez le fichier sous le nom "mapage.html". Ne fermez pas l'éditeur car nous en aurons encore besoin.

(Si vous utilisez TextEdit sur Mac OS X avant version 10.4, vous voyez une option pour ne pas ajouter l'extension .txt. Selectionnez cette option, parce que "mapage.html" a déjà une extension. Les versions plus récentes de TextEdit remarquent l'extension .html automatiquement.)

Ensuite, ouvrez le fichier dans un navigateur. Vous pouvez faire cela comme suit: cherchez le fichier avec votre explorateur de fichiers (Explorateur Windows, Finder ou Konqueror) et cliquez ou double-cliquez sur le fichier "mapage.html". Il devrait s'ouvrir dans votre navigateur Web par défaut. (Si ce n'est pas le cas, ouvrez votre navigateur et cliquez-déplacez le fichier dans le navigateur.)

Comme vous pouvez le voir, la page est assez ennuyeuse…

Etape 2: Ajouter de la couleur

Vous voyez probablement du texte noir sur un fond blanc, mais cela dépend de la façon dont le navigateur est configuré. Une manière simple de rendre la page plus stylée et d'y ajouter des couleurs. (Laissez votre navigateur ouvert, nous l'utiliserons à nouveau plus tard.)

Nous allons commencer avec une feuille de style intégrée dans le fichier HTML. Par la suite, nous nous mettrons le HTML et le CSS dans des fichiers séparés. Séparer les fichiers est une bonne chose car cela vous permet facilement d'utiliser la même feuille de style sur plusieurs fichiers HTML: il vous suffit d'écrire votre feuille de style une fois. Mais pour cette cette étape, nous écrirons tout dans notre seul fichier.

Nous devons ajouter un élément <style> au fichier HTML. La feuille de style sera dans cet élément. Retournez à la fenêtre de votre éditeur et ajoutez les cinq lignes suivantes dans la partie head de votre fichier HTML. Les lignes à ajouter sont affichées en rouge(lignes 5 à 9).

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
  <title>Ma première page avec du style</title>
  <style type="text/css">
  body {
    color: purple;
    background-color: #d8da3d }
  </style>
</head>

<body>
[etc.]

La première ligne indique qu'il s'agit d'une feuille de style et qu'elle est écrite en CSS ("text/css"). La seconde ligne indique que nous ajoutons du style à l'élément "body". La troisième ligne indique que la couleur du texte sera le violet, et la ligne suivante que le fond aura comme couleur une sorte de jaune verdâtre.

Attention! Explication avancée: Les feuilles de style en CSS sont constituées de règles. Chacune des règles est en trois partie:

  1. Le sélecteur (dans l'exemple: "body"), qui indique au navigateur quelle partie du document est affectée par la règle;
  2. La propriété (dans l'exemple, 'color' et 'background-color' sont des propriétés), qui spécifie quel aspect de l'affichage est paramétré
  3. Et la valeur ('purple' et '#d8da3d'), qui indique la valeur de la propriété de style.

L'exemple montre que les règles peuvent être combinées. Nous avons paramétré deux propriétés, donc nous aurions pu en faire deux règles séparées:

body { color: purple }
body { background-color: #d8da3d }

mais puisque les deux règles affectent le corps ("body"), nous avons indiqué "body" une seule fois et mis les propriétés et valeurs ensemble. Pour en savoir plus sur les sélecteurs, se reporter au chapitre 2 de Lie & Bos.

Le fond de l'élément "body" sera également le fond de tout le document. Nous n'avons pas donné aux autres éléments (p, li, address…) de valeur explicite sur le fond, donc par défaut, ils n'en auront pas (ou plutôt: ils seront transparents). La propriété 'color' détermine la couleur du texte de l'élément "body", mais tous les autres éléments dans le corps hériteront de cette couleur, à moins qu'une autre soit spécifiée (Nous ajouterons d'autres couleurs plus plus tard.)

Sauvez maintenant ce fichier (utilisez "Sauver" depuis le menu Fichier) et retournez à la fenêtre de votre navigateur. Si vous pressez l'icône "Recharger", l'affichage devrait changer de la page "ennuyeuse" à une page colorée (mais certes toujours ennuyeuse) A part la liste de liens en haut, le texte devrait maintenant être violet sur un fond jaune verdâtre.

Capture d'écran de la page colorée dans Amaya

Voici comment un navigateur affiche la page maintenant que des couleurs ont été ajoutéees.

Attention! Explication avancée: En CSS, les couleurs peuvent être spécifiées de plusieurs manières. Cet exemple en montre deux: par nom ("purple") et par code hexadécimal ("#d8da3d"). Il y a à peu prés 140 noms de couleurs. Les codes hexadécimaux permettent plus de 16 millions de couleurs. Adding a touch of style fournit plus d'explications à propos de ces codes.

Etape 3: Ajouter des fontes

Une autre chose simple à faire est de distinguer les fontes des différents éléments de la page. Choisissons la fonte "Georgia", sauf pour le texte des titres de type h1 pour lesquels nous choisirons la fonte "Helvetica."

Sur le Web, vous ne pouvez jamais être sûr des fontes qu'auront vos lecteurs sur leurs ordinateurs, donc nous ajouterons des alternatives: si Georgia n'est pas disponible, Times New Roman ou Times iront très bien, et si ces deux-la sont également indisponibles, le navigateur pourra utiliser une autre fonte dans la famille serifs. Si Helvetica est absente, Geneva, Arial et SunSans-Regular sont assez similaire en forme, et si aucune de celles-ci ne fonctionne, le navigateur pourra choisir une autre fonte sans serif.

Dans votre éditeur de texte, ajoutez les lignes suivantes (lignes 7-8 et 11-13):

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
  <title>Ma première page avec du style</title>
  <style type="text/css">
  body {
    font-family: Georgia, "Times New Roman",
          Times, serif;
    color: purple;
    background-color: #d8da3d }
  h1 {
    font-family: Helvetica, Geneva, Arial,
          SunSans-Regular, sans-serif }
  </style>
</head>

<body>
[etc.]

Si vous sauvez à nouveau et pressez "Recharger" dans le navigateur, vous devriez voir des fontes différentes pour le titre et le reste du texte.

Capture d'écran avec les fontes ajoutées

Maintenant le texte principal a une fonte différente de celle du titre.

Etape 5: Stylisez vos liens

Le menu de navigation ressemble toujours à une liste au lieu d'un menu. Ajoutons un peu de style. Nous allons supprimer les points de la liste et déplacer les éléments à gauche, à l'endroit où étaient les points. Nous allons aussi donner à chaque élément son propre fond blanc ainsi qu'un carré noir. (Pourquoi? Aucune raison en particulier, si ce n'est que l'on peut le faire.)

Nous n'avons pas déterminé quelle couleur auront les liens, alors nous ajouterons cela également: bleu pour les liens que l'utilisateur n'a pas encore vu et violet pour les liens déjà visités (lignes 13-15 et 23-33):

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
  <title>Ma première page avec du style</title>
  <style type="text/css">
  body {
    padding-left: 11em;
    font-family: Georgia, "Times New Roman",
          Times, serif;
    color: purple;
    background-color: #d8da3d }
  ul.navbar {
    list-style-type: none;
    padding: 0;
    margin: 0;
    position: absolute;
    top: 2em;
    left: 1em;
    width: 9em }
  h1 {
    font-family: Helvetica, Geneva, Arial,
          SunSans-Regular, sans-serif }
  ul.navbar li {
    background: white;
    margin: 0.5em 0;
    padding: 0.3em;
    border-right: 1em solid black }
  ul.navbar a {
    text-decoration: none }
  a:link {
    color: blue }
  a:visited {
    color: purple }
  </style>
</head>

<body>
[etc.]

Attention! Explication avancée: Traditionellement, les navigateurs montrent les hyperliens soulignés et en couleurs. Habituellement, les couleurs sont similaires à celles que nous avons spécifiées ici: bleu pour les liens vers des pages qui n'ont pas encore été visitées (ou visitées il y a longtemps), violet pour les pages qui ont été déjà visitées.

En HTML, les hyperliens sont créés avec l'élément <a>, donc pour préciser la couleur, nous devons ajouter une règle de style pour "a". Afin de différencier les liens visités et les liens non visités, CSS propose deux "pseudo-classes" (:link et :visited). Elles sont appelées "pseudo-classes" pour les distinguer des classes attributs, qui apparaissent directement dans le HTML, c'est à dire, la classe class="navbar" dans notre exemple.

Etape 6: Ligne horizontale

L'ajout final à notre feuille de style est une ligne horizontale pour séparer le texte de la signature en bas. Nous utiliserons 'border-top' afin d'ajouter une ligne en pointillé au-dessus de l'élément <address> (lignes 34-37):

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
  <title>Ma première page avec du style</title>
  <style type="text/css">
  body {
    padding-left: 11em;
    font-family: Georgia, "Times New Roman",
          Times, serif;
    color: purple;
    background-color: #d8da3d }
  ul.navbar {
    list-style-type: none;
    padding: 0;
    margin: 0;
    position: absolute;
    top: 2em;
    left: 1em;
    width: 9em }
  h1 {
    font-family: Helvetica, Geneva, Arial,
          SunSans-Regular, sans-serif }
  ul.navbar li {
    background: white;
    margin: 0.5em 0;
    padding: 0.3em;
    border-right: 1em solid black }
  ul.navbar a {
    text-decoration: none }
  a:link {
    color: blue }
  a:visited {
    color: purple }
  address {
    margin-top: 1em;
    padding-top: 1em;
    border-top: thin dotted }
  </style>
</head>

<body>
[etc.]

Notre style est désormais terminé. Maintenant, penchons-nous sur comment faire de notre feuille de style un fichier à part, de sorte que d'autres pages peuvent partager le même style.

Etape 7: Mettre la feuille de style dans un fichier à part

Nous disponsons d'un fichier HTML avec une feuille de style intégrée. Mais si notre site se développe, nous voulons probablement que plusieurs pages partagent le même style. Il existe une meilleure méthode que de copier la feuille de style dans chaque page: si nous mettons la feuille de style dans un fichier à part, toutes les pages peuvent pointer sur celui-ci.

Pour créer un fichier de feuille de style, nous devons créer un autre fichier texte vide. Vous pouvez sélectionner "Nouveau" depuis le menu Fichier de votre éditeur pour obtenir une fenêtre vide. (Si vous utilisez TextEdit, n'oubliez pas de forcer le texte simple à nouveau, en utilisant le menu Format.)

Ensuite, coupez et collez le contenu de l'élément <style> depuis le fichier HTML vers la nouvelle fenêtre. Ne copiez pas les éléments <style> et </style>. Ils appartiennent au langage HTML, pas à CSS. Dans la nouvelle fenêtre d'édition, vous devriez maintenant avoir la feuille de style complète:

body {
  padding-left: 11em;
  font-family: Georgia, "Times New Roman",
        Times, serif;
  color: purple;
  background-color: #d8da3d }
ul.navbar {
  list-style-type: none;
  padding: 0;
  margin: 0;
  position: absolute;
  top: 2em;
  left: 1em;
  width: 9em }
h1 {
  font-family: Helvetica, Geneva, Arial,
        SunSans-Regular, sans-serif }
ul.navbar li {
  background: white;
  margin: 0.5em 0;
  padding: 0.3em;
  border-right: 1em solid black }
ul.navbar a {
  text-decoration: none }
a:link {
  color: blue }
a:visited {
  color: purple }
address {
  margin-top: 1em;
  padding-top: 1em;
  border-top: thin dotted }

Choisissez "Sauver-sous…" depuis le menu Fichier, assurez-vous que vous êtes dans le même répertoire/dossier où vous avez enregistré le fichier mapage.html, et sauvez la feuille de style sous le nom "monstyle.css".

Revenez maintenant à la fenêtre contenant le code HTML. Supprimez tout depuis la balise <style> jusqu'après la balise </style> et remplacez par l'élément <link> comme suit (ligne 5):

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
  <title>Ma première page avec du style</title>
  <link rel="stylesheet" href="monstyle.css">
</head>

<body>
[etc.]

Ceci indiquera au navigateur que la feuille de style se trouve dans le fichier nommé "monstyle.css" et puisqu'aucun répertoire n'est mentionné, le navigateur regardera dans le même répertoire que le fichier HTML.

Si vous sauvez votre fichier HTML et le rechargez dans votre navigateur, vous ne devriez voir aucun changement: la page a toujours le même style, mais celui-ci provient maintenant d'un fichier externe.

Résultat final du style

Le résultat final

L'étape suivante est d'enregistrer les deux fichiers mapage.html et monstyle.css sur votre site Web. (Probablement après les avoir modifié un peu au préalable…) Mais cela dépend entièment de votre fournisseur d'accès Internet.

En savoir plus

Pour une introduction à CSS, lire le chapitre 2 de Lie & Bos, ou Dave Raggett's intro to CSS (Introduction à CSS par Dave Raggett).

Vous trouverez d'autres informations, ainsi que d'autres tutoriels à la page learning CSS (Apprendre CSS).

Langues

À propos des traductions

CSS Valid CSS!Valid HTML 4.01 Strict
Dernière modification ven. 10 oct. 2014 14:58:26 CEST

Bert Bos, coordinateur de l'activité style
Copyright © 1994–2014 W3C®