9
votes

Couleur de fond sur l'entrée Type = Bouton: Survolez les bâtons d'état dans IE

J'ai un type d'entrée = bouton avec un ensemble de couleurs d'arrière-plan et une autre sur: hover - voir http: //jsfiddle.net/hc2eu/3/

dans IE (Toutes les versions) - Lorsque je passe sur le bouton sur le bouton, déplacez le bouton, puis MouseUp - la couleur de fond reste dans le réglage: plancher jusqu'à la souris sur la souris.

Y a-t-il une solution de contournement pour cela? De préférence pas avec JS? (IE6 non nécessaire)


0 commentaires

3 Réponses :


7
votes

Essayez d'utiliser le type d'attribut CODE> TYPE CODE> pour rechercher des boutons (peut-être que cela résoudra aussi):

input[type=button]
{
  background-color: #E3E1B8; 
}

input[type=button]:hover
{
  background-color: #46000D
}


2 commentaires

Ce n'est pas un problème de sélection CSS - les couleurs sont appliquées correctement. Il y a un problème avec déplacer la souris hors d'un bouton lorsque le problème est dans l'état actif - même problème avec .


Hmm. Je suppose qu'il est temps de battre l'ordinateur et de crier des obscènes, car je ne suis pas sûr de savoir comment le faire.



13
votes

Il peut y avoir une solution à - mais s'il y en a, je ne le sais pas.

Sinon, une bonne option semble être de remplacer Il avec un élément A

exemple: http://jsfiddle.net/uka5v / xxx

upsides inclut que l'élément A style stockera systématiquement entre différentes versions (plus anciennes) d'Internet Explorer sans aucun travail supplémentaire, sans aucun travail supplémentaire, et je pense que mon lien a l'air plus agréable que ce bouton :)


3 commentaires

J'en ai pensé à cela - mais je traite avec un système préexistant qui avait une logique affectée aux éléments d'entrée et de former des soumissions, etc. (veuillez ne pas demander des détails :) refactoring tout ce code juste pour réparer un problème d'identité pourrait ne pas en valoir la peine.


Vous donner la réponse acceptée - car je ne pense pas que cela soit possible avec des éléments de bouton standard.


Les gradients et les transitions ne fonctionnent pas ensemble semblent être la seule réponse: Stackoverflow.com/Questtions/3790273/...



1
votes

Vous devez vous assurer que les images sont d'abord et mettre une virgule après l'appel de l'image de fond. Ensuite, cela fonctionne en fait:

    background:url(egg.png) no-repeat 70px 2px #82d4fe; /* Old browsers */
background:url(egg.png) no-repeat 70px 2px, -moz-linear-gradient(top, #82d4fe 0%, #1db2ff 78%) ; /* FF3.6+ */
background:url(egg.png) no-repeat 70px 2px, -webkit-gradient(linear, left top, left bottom, color-stop(0%,#82d4fe), color-stop(78%,#1db2ff)); /* Chrome,Safari4+ */
background:url(egg.png) no-repeat 70px 2px, -webkit-linear-gradient(top, #82d4fe 0%,#1db2ff 78%); /* Chrome10+,Safari5.1+ */
background:url(egg.png) no-repeat 70px 2px, -o-linear-gradient(top, #82d4fe 0%,#1db2ff 78%); /* Opera11.10+ */
background:url(egg.png) no-repeat 70px 2px, -ms-linear-gradient(top, #82d4fe 0%,#1db2ff 78%); /* IE10+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#82d4fe', endColorstr='#1db2ff',GradientType=0 ); /* IE6-9 */
background:url(egg.png) no-repeat 70px 2px, linear-gradient(top, #82d4fe 0%,#1db2ff 78%); /* W3C */


0 commentaires