Comment remplacer la feuille de style globale
-
05-07-2019 - |
Question
En résumé, il existe une feuille de style globale:
a { font-family: Arial; }
Je souhaite utiliser une famille de polices différente pour un lien particulier:
<a href="..." style="font-family: Helvetica;">...</a>
ou
<span style="font-family: Helvetica;"><a href="...">...</a></span>
mais rien ne fonctionne. Y a-t-il un moyen facile de faire cela?
P.S. J'assigne dynamiquement (via PHP) différentes polices à différents liens. La création d'une classe spéciale n'est donc pas une option.
La solution
Sauf si vous avez une police spécifique nommée Helvetica, vous devez savoir que sur certaines plates-formes (comme Windows, via FontSubstitutes ), Helvetica est associé à Arial. Cela pourrait être la source du problème. Essayez une autre police et voyez.
Autres conseils
Votre première tentative
<a href="..." style="font-family: Helvetica;">...</a>
aurait dû travailler. Convenez qu'il vous manque probablement une police. Les styles en ligne ont priorité sur les autres styles en regard d'une feuille de style définie par l'utilisateur. Voici l'ordre de priorité des définitions de style:
- style défini par l'utilisateur
- Feuille de style incorporée ou en ligne
- Feuille de style interne
- Feuille de style externe
- style par défaut du navigateur
Dans une feuille de style, les priorités sont les suivantes:
- Tout ce qui est marqué! important
-
id
- .class
- élément
De plus, vous avez la règle de la plus grande spécificité: div a
remplace a
.
Voici un bon article avec plus de détails sur le sujet .
La suggestion de @ Kip est votre meilleur choix.
Ce que vous avez écrit devrait fonctionner, à moins que le problème ne soit ce que Chris a souligné,
Lorsque vous obtenez une paire de polices pour lesquelles cela fonctionne correctement, vous pouvez penser qu'une meilleure façon de procéder consiste à déclarer une classe pour les liens spéciaux qui vous rappelle en quelque sorte pourquoi . besoin d’une police distincte (peut-être parce que vous voulez qu’ils soient particulièrement remarqués?)
a { font-family: Arial; }
a .noticed { font-family: Helvetica; }
Puis en HTML:
<a class="noticed" href="...">...</a>
La modification de la police en créant une balise span autour du lien ou en ajoutant un style en ligne au lien ne fait que rappeler l'ancienne balise <font>
balises.
remplaçant les styles globaux, Chris Jester-Young a probablement raison et vous n'avez pas de police Helvetica; essayez une police différente, par exemple Courier ou Times New Roman dont vous êtes certain qu'il existe