formateur informatique

Insérer des commentaires au survol de la souris

Accueil  >  Technique  >  CSS  >  CSS Astuces  >  Insérer des commentaires au survol de la souris
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Abonner à Youtube    Vidéos astuces Instagram
Sujets que vous pourriez aussi aimer :


Commentaires - ToolTips

Avec cette nouvelle astuce sur les styles Css, nous allons apprendre à afficher des informations complémentaires au survol de certains éléments de la page Web.

ToolTips - Commentaires affichés au passage de la souris

Dans l'exemple illustré par la capture, au survol de la souris sur chacune des phrases, une information complémentaire vient se glisser. Et cette information est masquée par défaut. D'ailleurs, elle disparaît de nouveau dès lors que la souris quitte la zone d'influence. Ce procédé est un bon moyen d'enrichir le contenu avec beaucoup de discrétion.

Base de travail
Pour appuyer l'étude, nous suggérons de récupérer des sources offrant déjà une belle construction. Le fichier de la page Web (index.htm) est accompagné de ses ressources dans les sous dossiers. On note par exemple la présence des feuilles de styles dans le sous dossier Css.
  • Double cliquer sur le fichier index.htm pour l'ouvrir dans le navigateur par défaut,
Commentaires non encore masqués par les styles Css sur la page Web

Nous retrouvons bien les phrases aperçues dans l'exemple finalisé. Mais comme vous pouvez le voir, les commentaires sont intercalés. Ils ne sont pas du tout masqués alors que leur dessein est d'apparaître uniquement sur demande.
  • A la racine du dossier de décompression, cliquer droit sur ce fichier Index.htm,
  • Dans le menu contextuel, choisir de l'ouvrir avec un éditeur comme le Notepad ++,
Tout d'abord, vous pouvez noter la référence aux feuilles de styles en entête de code Html. Les chemins relatifs confirment qu'elles sont bien hébergées par le sous dossier local Css.

...
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<link rel="stylesheet" href="css/mes-styles.css">
<link rel="stylesheet" href="css/les-styles.css">

</head>
<body>
...


La première se charge de l'organisation globale de la page Web. C'est la seconde que nous allons utiliser ici pour donner vie à ces discrets commentaires. Elle se nomme les-styles.

La construction qui nous concerne est située plus bas dans le code Html, plus précisément dans le calque (balise Div) , d'identifiant auCentre.

...
<div id="contenu">
<div id="auCentre">

<pclass="comm"><strong>Londres</strong> <span class="aspect">9 millions d'habitants</span> est la capitale de l'<strong>Angleterre</strong>.</p>
<p class="comm"><strong>Paris et couronne</strong><span class="aspect">12 millions d'habitants</span> est la capitale de la <strong>France</strong>.</p>
<p class="comm"><strong>Berlin</strong> <span class="aspect">3 millions 700 milles habitants</span> est la capitale de l'<strong>Allemagne</strong>.</p>
<p class="comm"><strong>Rome</strong> <span class="aspect">2 millions 800 milles habitants</span> est la capitale de l'<strong>Italie</strong>.</p>
<p class="comm"><strong>Madrid</strong> <span class="aspect">6 millions 600 milles habitants</span> est la capitale de l'<strong>Espagne</strong>.</p>


</div>
</div>
...


Les phrases sont classiquement inscrites dans des balises de paragraphes (balises P). Elles contiennent des commentaires à dévoiler seulement au survol du paragraphe. Ces commentaires sont inclus dans des balises span régis par un style nommé aspect.
  • A la racine du dossier de décompression, double cliquer sur le sous dossier Css,
  • Dès lors, cliquer droit sur la feuille de styles les-styles.css,
  • Dans le menu contextuel, choisir de l'ouvrir avec un éditeur comme le Notepad ++,
Le style aspect existe déjà. Il annonce une animation nommée opac à jouer sur quatre secondes.

.aspect
{
background-color:#000;
color:#fff;
display:inline-block;
padding-left:8px;
padding-right:8px;
text-align:center;
animation:opac 4s;
}


C'est par un Keyframes qu'elle elle doit faire apparaître progressivement et subtilement l'information supplémentaire au survol de la souris.

Masquer les commentaires
Premièrement, nous devons masquer les commentaires pour qu'ils ne soient pas visibles au chargement de la page Web. Et comme vous le savez, c'est l'attribut Css display qui permet d'influer sur l'affichage des éléments Html.
  • Dans le style aspect, ajouter l'instruction Css suivante :
.aspect
{
background-color:#000;
color:#fff;
display:inline-block;
padding-left:8px;
padding-right:8px;
text-align:center;
display:none;
animation:opac 4s;
}


L'attribut display réglé à none a pour effet de masquer le contenu hébergé par l'élément Html affecté à ce style. Nous entendons le constater.
  • Enregistrer les modifications (CTRL + S) et revenir sur la page Web,
  • Actualiser le cache du navigateur avec le raccourci clavier CTRL + F5,
Masquer les commentaires sur la page Web par les styles Css

Comme vous pouvez le voir, les commentaires sont effectivement masqués au chargement de la page Web. Seules subsistent les phrases d'origine sans les informations subsidiaires encapsulées dans les éléments Html de type Span.

Afficher les commentaires
Désormais, nous devons définir le réglage capable d'afficher le commentaire concerné par le survol de son paragraphe. Chaque paragraphe est régi par le style comm. Chaque commentaire encapsulé est régi par le style aspect. Pour que le commentaire apparaisse au survol du paragraphe, quelle que soit la position de la souris, nous devons créer un style qui combine les deux.
  • Sous le style comm, créer le style suivant :
.comm:hover .aspect
{
}


Grâce au gestionnaire hover, il concerne le comportement des commentaires (aspect) au survol de la souris sur les paragraphes de textes (comm). Et lorsque cet événement est détecté, nous devons réintégrer les commentaires dans le flux en modifiant la valeur de l'attribut display.
  • Dans les bornes de ce nouveau style, ajouter l'instruction Css suivante :
.comm:hover .aspect
{
display:inline-block;
}


C'est effectivement la valeur inline-block qui permet d'afficher un élément Html dans le flux de la page Web en respectant sa position d'ancrage.
  • Enregistrer les modifications (CTRL + S) et revenir sur la page Web,
  • Actualiser le cache du navigateur (CTRL + F5),
  • Puis, passer la souris sur les paragraphes tour à tour,
Afficher les commentaires au passage de la souris sur une page Html

Comme vous pouvez l'apprécier, les commentaires apparaissent bien sur ordre. Et pour cela, deux petits réglages Css ont suffi. Mais à ce stade, ces apparitions sont relativement agressives.

Animer les commentaires
Comme nous l'avons évoqué précédemment, le style aspect annonce une animation. Elle est nommée opac et elle doit se dérouler sur quatre secondes. Mais celle-ci n'est pas jouée pour l'instant. Nous le savons, c'est un keyframes qui permet de diriger une animation reconnue par son nom, en lui ordonnant les étapes à respecter. Il s'agit de techniques que nous avons démontrées à l'occasion de précédentes astuces.
  • Sous le style aspect, créer le keyframes suivant :
@keyframes opac
{
from
{
opacity:0;
}
to
{
opacity:1;
};
}


Comme il s'agit d'un élément Css particulier, selon la syntaxe, un keyframes est préfixé du symbole de l'arobase. Cette animation se joue donc sur deux paliers. Au départ (from) le commentaire doit être complètement transparent (opacity:0). A l'arrivée (to), soit au bout de quatre secondes, le commentaire doit être complètement visible (opacity:1).
  • Enregistrer les modifications et revenir sur la page Web,
  • Actualiser le cache du navigateur et passer la souris sur les commentaires,
Apparition progressive des commentaires sur la page Html avec effet d-opacité

Cette fois, les commentaires respectent la transition dictée par le keyframes jouant l'animation. Leur affichage est plus progressif et donc plus agréable.

 
Sur Facebook
Sur Youtube
Les livres
Contact
Mentions légales



Abonnement à la chaîne Youtube
Partager la formation
Partager sur Facebook
Partager sur Twitter
Partager sur LinkedIn