En utilisant le CSS, lorsque le texte a text-decoration:underline
appliqué, est-il possible d'augmenter la distance entre le texte et le soulignement ?
Réponse
Trop de publicités?Il existe d'excellentes solutions ici, mais chacune d'entre elles présente des problèmes. Le text-underline-offset est différent pour chaque navigateur. La réponse de squarecandy fonctionne également, mais elle est un peu compliquée. L'utilisation de la bordure inférieure modifie la disposition du texte et entraîne un décalage.
Une solution pour ajouter un soulignement personnalisé consiste à faire du soulignement une image d'arrière-plan, dont la taille est adaptée à celle du texte.
a {
/* Change the source image to account for changes to the text colour. It should be a single column. */
background-image: url(data:image/png;base64,iVBORw__EDITED_OUT___0KGgYII=);
/*background-image: url('underlineImage.png');*/
background-size: 1px 1.1em;
background-repeat: repeat-x;
display: inline;
cursor: pointer;
text-decoration: none;
}
Au fur et à mesure que le texte augmente, la position reste relative à la taille du texte. Avec cela, vous pouvez avoir l'image de soulignement que vous voulez, comme "une rangée d'étoiles", ou simplement une ligne.
L'exemple ci-dessus n'inclut pas les informations complètes en base64 pour créer l'effet. Cela fonctionne très bien sur tous les navigateurs, car il s'agit d'un élément fondamental et il est assez compatible avec les anciens navigateurs.
<a href="#">This _____ is the link</a>
Si l'image d'arrière-plan est un png avec transparence, elle fonctionne très bien au-dessus d'autres éléments.
- Réponses précédentes
- Plus de réponses
2 votes
Ce n'est pas exactement ce que vous demandiez, mais c'était une lecture intéressante sur le sujet : CSS Design : Soulignements personnalisés
0 votes
La distance est déterminée par la police utilisée. Essayez des polices sûres pour le web.
5 votes
CSS3 propose aujourd'hui un grand nombre de nouvelles propriétés de décoration du texte. Veuillez consulter le site alligator.io/css/text-decoration Exemple :
text-underline-position: under;
ytext-decoration-skip: ink;
Veuillez noter que cette solution n'est probablement pas rétrocompatible avec les anciens navigateurs.2 votes
Un autre bonne solution
6 votes
Vote pour
text-underline-offset
ici : bugs.chromium.org/p/chromium/issues/