close

Coder les liens en HTML et en CSS

#1 Coder les liens en HTML open

Pour faire un lien, vous écrivez le texte sur lequel vous voulez cliquer, puis vous l’encadrez avec les balises de l’élément a. La lettre a, c'est pour le nom de l’élément qui sert à faire des liens.

Encadrer le texte pour faire un lien

Le principe du lien hypertexte est le suivant : lorsque le visiteur clique sur le texte du lien, le navigateur charge une nouvelle page. Il faut donc mettre l’adresse de cette nouvelle page quelque part.

Vous devez utiliser l'attribut href pour mettre l'adresse de cette page.

Un exemple de lien

Ce que vous pouvez remarquer ici, c'est que je n'ai pas mis le nom de la page. Le principe, c'est d'aller vers une page, mais je ne mets pas le nom de la page ? 😨. Ça nécessite une petite explication. Et là, il faut le savoir, dans ce cas, c'est le serveur http qui va choisir le fichier. De notre côté, on lui donne seulement l'adresse d'un répertoire. Eh oui, le slash que l'on met à la fin de http://www.devenir-webmaster.com/ indique le répertoire /. Ce répertoire porte un nom particulier, c'est le répertoire racine. On l'appelle ainsi, car il est situé à la racine de l'arborescence du site.

Comment va se faire ce choix au niveau du serveur http ? Eh bien, le serveur va choisir en fonction de ce qu'il a dans le répertoire et en fonction de sa configuration. Il choisit entre deux fichiers : le fichier index.php ou le fichier index.html (il y a d'autres possibilités, mais c'est beaucoup moins courant).

Remarquez que le navigateur ne nous dit pas dans la barre d'adresse lequel des deux est choisi et c'est normal. Il ne le sait pas ! 😲. En fait, le navigateur prend ce qu'on lui donne. Et ce qu'on lui donne, c'est du HTML. Peu importe que le serveur utilise PHP, ou pas, pour produire ce code HTML. Si vous ne comprenez pas ce que je dis, je vous conseille le tutoriel A quoi servent PHP et MYSQL ?.

#2 Utiliser l'attribut target open

Si vous voulez que la nouvelle page soit chargée dans un nouvel onglet, vous devez utiliser l'attribut target. Cliquez ici et vous allez voir, que la nouvelle page va s'ouvrir dans un nouvel onglet.

Ouvrir un lien dans un nouvel onglet

#3 Utiliser l'attribut title open

Si vous voulez avoir une info bulle au survol, vous devez utiliser l'attribut title. Survolez le lien, et vous allez voir apparaître une infobulle (l'attribut title peut être utilisé sur d'autres éléments html).

Avoir une info bulle au survol

#4 Faire un lien vers un endroit précis d'une page open

Faire un lien vers un endroit précis d'une page, veut dire que, lorsque je clique sur mon lien, je veux que la fenêtre du navigateur ouvre la page, avec un curseur de positionné, à un endroit précis de cette page. Si je fais un lien traditionnel, la fenêtre du navigateur, va s'ouvrir avec un curseur de positionné, au début de cette page.

Un exemple, je veux faire un lien vers un endroit précis de cette page urlmapping.html. Pour l'instant, tel que j'ai fait le lien, la fenêtre du navigateur s'ouvre au début de cette page. Mais les informations vers lesquelles je veux directement vous renvoyer sont dans la partie "Racine des documents". Alors, je regarde le source (CTRL+U) puis (CTRL+F) pour rechercher les termes "Racine des documents" et je vois qu'il y a un identificateur #documentroot, sur lequel je peux en quelque sorte m'accrocher.

Ligne retrouvée dans le code HTML de urlmapping.html
Trouver l'identificateur dans le document

Je vais m'y accrocher, en mettant cet identificateur, à la fin de l'Url du lien que je vais mettre en place. Ci-dessous, je vous montre la façon d'écrire l'Url du lien. D'abord l'adresse de la page puis l'identificateur (avec le #) collé à la fin.

Une Url avec un identificateur

Et voilà, ce que ça va donner, pour l'Url complète de mon exemple https://httpd.apache.org/ docs/2.4/fr/urlmapping.html#documentroot. Vous constatez que lorsque la page s'ouvre, elle est positionnée à l'endroit précis où se trouve l'information que je veux vous montrer.

#5 Faire un lien de téléchargement open

Pour proposer un téléchargement, il suffit de faire un lien interne vers le ou les fichiers, que vous souhaitez proposer. On appelle ça faire un lien de téléchargement. Dans ce cas, le mieux est d'encapsuler au préalable vos fichiers à télécharger dans un fichier compressé qui aura l'extension .zip. Vous devez faire ça, notamment, si vous voulez proposer un fichier html parce que là le clic sur le fichier provoquerait sa visualisation. Avec l'extension .zip, c'est le téléchargement qui va s'enclencher.

Tester le code

Si vous mettez un lien html, alors évidemment le navigateur va charger la page html.

Tester le code

#6 Styler les liens en CSS open

Déjà, on peut regarder comment se présentent les couleurs par défaut d'un lien, selon son état. Qu'est-ce que j'appelle l'état d'un lien ? Si le lien n'a jamais été visité, c'est un état. Si le lien a déjà été visité, c'est un autre état. Les couleurs par défaut selon l'état sont données ci-dessous :

  1. Un lien qui n'a jamais été visité est bleu.
  2. Un lien qui a déjà été visité est mauve. Il est présent dans l'historique du navigateur.
  3. Si vous cliquez sur un lien et que vous gardez le bouton enfoncé, le lien devient rouge.
  4. Tous les liens sont soulignés et restent soulignés.
  5. Rien ne se passe si vous survolez le lien, mis à part le changement de l'aspect du curseur de la souris.
Tester le code

Maintenant, avec des règles CSS, je vais changer ces comportements par défaut. Je peux le faire pour tous les états avec une seule règle. Par exemple, la règle a.test { text-decoration:none; } s'applique à tous les états. Je peux le faire pour un état particulier, en utilisant une pseudo-classe. Par exemple, la règle a.test:link { color:green; } ne s'applique qu'aux liens qui n'ont pas été visités.

Je précise ci-dessous, les principaux états qui peuvent être gérés en CSS, avec des pseudos-classes. Je le fais dans un ordre précis. C'est un ordre que vous devez respecter, lorsque vous utilisez les pseudos-classes. Ca peut surprendre, mais c'est bel et bien le cas. Les mots LoVe HAte sont un bon moyen mnémotechnique pour se souvenir de cet ordre. L pour link, V pour visited, H pour hover, A pour active.

  • :link lorsque le lien n'a pas été visité.
  • :visited lorsque le lien a déjà été visité.
  • :hover lorsque le lien est survolé.
  • :active lorsque l'on clique et que l'on reste en position bouton enfoncé sur le lien.
Tester le code

Vous pouvez voir ci-dessous, que si l'ordre n'est pas le "bon" ça ne fonctionne pas. Ci-dessous, la pseudo-classe hover n'est pas au bon endroit.

Tester le code

#7 Comment agrandir la zone de clic ? open

Il peut être intéressant, d'agrandir la zone de clic, pour donner plus de confort à un utilisateur, notamment lorsque le site est visité sur smartphone.

Les liens sont des éléments HTML de type inline et ne peuvent pas être redimensionnés. Heureusement, vous pouvez changer de type pour modifier ce comportement. Une solution est d'utiliser le type inline-block. Vous avez un exemple dans ce tutoriel, Les éléments de type inline, block et inline-block.