Salut j'utilise Bootstrap.
Bootstrap définit
a:hover, a:focus {
color: #005580;
text-decoration: underline;
}
J'ai ce liens/classes CSS
<a class="green" href="#">green text</a>
<a class="yellow" href="#">yellow text</a>
Comment puis-je désactiver la couleur de l'aspirateur?
Je veux que les liens verts restent verts et que les liens jaunes soient jaunes, sans que cela soit prioritaire: passer pour chaque classe? (cette question n'est pas obligatoire dépendante de bootstrap).
j'ai besoin de quelque chose comme
a:hover, a:focus {
color: @nonhoovercolor;
}
et je pense
.yellow {
color: yellow !important;
}
n'est pas une bonne pratique
si quelqu'un se soucie je me suis retrouvé avec:
a {
color: inherit;
}
Je voudrais aller avec quelque chose comme ce JSFiddle :
HTML:
<a class="green" href="#">green text</a>
<a class="yellow" href="#">yellow text</a>
CSS:
body { background: #ccc }
/* Green */
a.green,
a.green:hover { color: green; }
/* Yellow */
a.yellow,
a.yellow:hover { color: yellow; }
a {background-color:transparent !important;}
Si vous aimez les hacks laids que vous ne devriez jamais faire dans les systèmes du monde réel; vous pouvez supprimer toutes les règles de style: survolez de document.styleSheets.
Il suffit de parcourir tous les styles CSS avec JavaScript et de supprimer toutes les règles contenant ": hover" dans leur sélecteur. J'utilise cette méthode lorsque je dois supprimer: survoler les styles de bootstrap 2.
_.each(document.styleSheets, function (sheet) {
var rulesToLoose = [];
_.each(sheet.cssRules, function (rule, index) {
if (rule.selectorText && rule.selectorText.indexOf(':hover') > 0) {
rulesToLoose.Push(index);
}
});
_.each(rulesToLoose.reverse(), function (index) {
if (sheet.deleteRule) {
sheet.deleteRule(index);
} else if (sheet.removeRule) {
sheet.removeRule(index);
}
});
});
J'ai utilisé le tiret de soulignement pour les tableaux itératifs, mais on pourrait aussi écrire ceux avec une boucle js pure:
for (var i = 0; i < document.styleSheets.length; i++) {}
Marquez color: #005580;
comme color: #005580 !important;
.
Il remplacera le survol par défaut du bootstrap.
Je ne suis pas un expert en Bootstrap, mais il me semble que vous devriez définir une nouvelle classe appelée nohover (ou quelque chose d'équivalent), puis dans votre code de lien, ajoutez la classe comme dernière valeur d'attribut:
<a class="green nohover" href="#">green text</a>
<a class="yellow nohover" href="#">yellow text</a>
Ensuite, dans votre fichier Bootstrap LESS/CSS, définissez nohover (à l'aide de l'exemple JSFiddle ci-dessus):
a:hover { color: red }
/* Green */
a.green { color: green; }
/* Yellow */
a.yellow { color: yellow; }
a.nohover:hover { color: none; }
Forked le JSFiddle ici: http://jsfiddle.net/9rpkq/