web-dev-qa-db-fra.com

Puis-je afficher une abréviation mais avoir du texte intégral dans le code HTML?

À plusieurs endroits, j'utilise des abréviations liées pour un ensemble de mots, et Google sélectionne ces abréviations comme liens annexes. Le problème, c'est que l'abréviation n'a de sens que dans son contexte, pas lors de la visualisation des liens de sites Google.

Chaque lien a un titre avec le texte intégral. Est-il possible d'afficher uniquement les 3 premières lettres tout en conservant la chaîne entière dans le code HTML? Définir une courte largeur ne fonctionne pas bien.

3
DisgruntledGoat

Directives CSS:

a.abbrev span { display:none; }

Liens:

<a href="..." title="Full Text" class="abbrev">FT<span> (Full Text)</span></a>

Mises à jour: ... une solution moins laide et pourquoi d'autres pistes d'exploration ne donneront probablement pas les résultats souhaités.

Directives CSS:

a.abbrev span {
  display:block;
  float:left;
  width:1em;
  letter-spacing:2em;
  overflow:hidden;
}

Liens:

<a href="..." title="Full Text" class="abbrev"><span>Full</span> <span>Text</span></a> 

Des choses qui ne fonctionneront pas:

Utilisation de F<span>ull</span> T<span>ext</span> avec display:none: Google affiche les balises <span> dans des liens sous forme d'espaces - vos liens s'afficheraient donc sur Google sous la forme "T out complet".

<acronym title="Full Text">FT</acronym> - Ne sera pas développé

<abbr title="Full Text">FT</abbr> - Comme <acronym>, il y a fort à parier que cela sera étendu aux fins de liens de site

CSS :not()sélecteur : :first-letter est une pseudo-classe et le sélecteur :not() n'accepte pas les pseudo-classes.

2
danlefree

Vous pouvez utiliser la balise d'abréviation comme suit:

<abbr title="Hypertext Markup Language">HTML</abbr>
1
Piers Karsenbarg