2011-07-28 3 views
1

J'essaie de remplacer une balise! Importante pour une classe hover dans un plugin que j'utilise.classe prioritaire avec! Tag important

Le CSS pour l'élément/classe dans le plug-in est la suivante:

input.fl-submit { 
    background: #555; 
    background: -webkit-gradient(
     linear, 
     left bottom, 
     left top, 
     color-stop(0.12, rgb(60,60,60)), 
     color-stop(1, rgb(85,85,85)) 
    ); 
    background: -moz-linear-gradient(
     center bottom, 
     rgb(60,60,60) 12%, 
     rgb(85,85,85) 100% 
    ); 
} 

input.fl-submit:hover { 
    background: #282828 !important; 
} 

Je suis en train de changer la propriété d'arrière-plan, que je peux faire avec une balise importante pour input.fl soumettre, mais parce que la propriété hover a déjà une balise importante, je ne peux pas savoir comment la contourner. J'ai essayé quelques méthodes jquery que j'ai déjà trouvées sur stackoverflow, mais je n'ai pas réussi à le faire fonctionner, donc je serais reconnaissant pour toute aide.

Merci,

Nick

+2

C'est une bonne illustration de pourquoi 'important' ne devrait jamais être utilisé!. Si vous pouvez éditer le CSS, retravaillez-le en utilisant [specificity] (http://coding.smashingmagazine.com/2007/07/27/css-specificity-things-you-should-know/) plutôt que "! Important". – shanethehat

Répondre

1

L'idée entière de la balise est !important de sorte que vous ne pouviez pas l'ignorer. Je suppose que vous n'avez pas accès au CSS et que vous ne pouvez pas le supprimer, par conséquent, la seule solution que j'ai est de lui donner un autre style avec un autre modificateur !important (cela remplacera le précédent).

+0

... un autre modificateur '! Important' _et_ un sélecteur plus spécifique. – Johnny5

+0

Je suppose qu'il ne peut pas modifier le 'CSS' – Phil

+0

Oui, je ne peux pas modifier le CSS ou le HTML facilement. Il est généré par le plugin. – Nick

2

Vous pouvez toujours utiliser Javascript:

 document.styleSheets[1].deleteRule(0); 
    var background = '#000000'; 
    document.styleSheets[1].insertRule('input.fl-submit:hover { background: ' + background + '; }', 0); 
    //Another Way of doing... 
    document.styleSheets[1].cssRules[0].style.background = background; 

More Info

+0

Merci. Je ne suis pas sûr de savoir comment modifier ce script pour mes objectifs particuliers. Je peux voir où ajuster l'arrière-plan, mais je ne sais pas comment faire référence au fichier CSS qui est appelé "formloom-page1-css" – Nick

+0

Vous pouvez faire la même chose avec jquery: http://jsfiddle.net/NqNh3/ Eh bien idk. exactement la même chose ... Attendait-il que ce soit une valeur en vol stationnaire? – Joonas

+0

oui, valeur de survol – Nick

Questions connexes