Maison > interface Web > tutoriel CSS > Comment empêcher le décalage horizontal des éléments en ligne lors du survol lors de la mise en gras ?

Comment empêcher le décalage horizontal des éléments en ligne lors du survol lors de la mise en gras ?

Barbara Streisand
Libérer: 2025-01-04 04:33:41
original
267 Les gens l'ont consulté

How to Prevent Inline Element Horizontal Shift on Hover When Bolding?

Résoudre le problème de décalage après que les éléments en ligne deviennent plus épais lors du survol

Lors de l'utilisation de listes HTML et CSS pour créer des menus horizontaux, les utilisateurs peuvent vous rencontrera un problème : lorsque vous définissez le lien pour qu'il soit de plus en plus épais lorsqu'il est suspendu, le lien du menu sera décalé en raison de la différence d'épaisseur.

Pour résoudre ce problème nous pouvons adopter la solution suivante :

Prérégler la largeur

Utiliser un pseudo-élément invisible qui a le même contenu et le même style comme style de survol parent. Utilisez les attributs de données (tels que le titre) comme source de contenu.

li {
  display: inline-block;
  font-size: 0;
}

li a {
  display: inline-block;
  text-align: center;
  font: normal 16px Arial;
  text-transform: uppercase;
}

a:hover {
  font-weight: bold;
}

/* SOLUTION */
/* The pseudo element has the same content and hover style, so it pre-sets the width of the element and visibility: hidden hides the pseudo element from actual view. */
a::before {
  display: block;
  content: attr(title);
  font-weight: bold;
  height: 0;
  overflow: hidden;
  visibility: hidden;
}
Copier après la connexion
<ul>
  <li><a href="#" title="height">height</a></li>
  <li><a href="#" title="icon">icon</a></li>
  <li><a href="#" title="left">left</a></li>
  <li><a href="#" title="letter-spacing">letter-spacing</a></li>
  <li><a href="#" title="line-height">line-height</a></li>
</ul>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal