web-dev-qa-db-fra.com

filter: progid: DXImageTransform.Microsoft.gradient ne fonctionne pas dans ie7

Je souhaite appliquer une couleur d'arrière-plan dégradée à mon div.

Pour IE j'ai utilisé la propriété:

filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fad59f', endColorstr='#fa9907')

Cela fonctionne dans IE9 et IE8. Mais ne fonctionne pas dans IE7.

Que dois-je faire pour voir dans IE?

Voici un JSFiddle: http://jsfiddle.net/xRcXL/2/

29
Pavan Kumar

Après avoir vu votre violon dans les commentaires, le problème est assez facile à résoudre. Vous avez juste besoin d'ajouter overflow:auto ou définissez une hauteur spécifique pour votre div. Exemple en direct: http://jsfiddle.net/tw16/xRcXL/3/

.Tab{
    overflow:auto; /* add this */
    border:solid 1px #faa62a;
    border-bottom:none;
    padding:7px 10px;
    background:-moz-linear-gradient(center top , #FAD59F, #FA9907) repeat scroll 0 0 transparent;
    background:-webkit-gradient(linear, left top, left bottom, from(#fad59f), to(#fa9907));
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#fad59f, endColorstr=#fa9907);    
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#fad59f, endColorstr=#fa9907)";
}
41
tw16

Vous n'avez pas spécifié de GradientType:

background: #f0f0f0; /* Old browsers */
background: -moz-linear-gradient(top, #ffffff 0%, #eeeeee 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#eeeeee)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #ffffff 0%,#eeeeee 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #ffffff 0%,#eeeeee 100%); /* Opera11.10+ */
background: -ms-linear-gradient(top, #ffffff 0%,#eeeeee 100%); /* IE10+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eeeeee',GradientType=0 ); /* IE6-9 */
background: linear-gradient(top, #ffffff 0%,#eeeeee 100%); /* W3C */

source: http://www.colorzilla.com/gradient-editor/

2
feeela

Cela devrait être un travail:

background: -moz-linear-gradient(center top , #fad59f, #fa9907) repeat scroll 0 0 transparent;
 /* For WebKit (Safari, Google Chrome etc) */
background: -webkit-gradient(linear, left top, left bottom, from(#fad59f), to(#fa9907));
/* For Mozilla/Gecko (Firefox etc) */
background: -moz-linear-gradient(top, #fad59f, #fa9907);
/* For Internet Explorer 5.5 - 7 */
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#fad59f, endColorstr=#fa9907);
/* For Internet Explorer 8 */
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#fad59f, endColorstr=#fa9907)";

Sinon, générez en utilisant ceci et obtenez le code.

http://www.colorzilla.com/gradient-editor/

2
Anand Thangappan

Lors des tests IE7/8/9 J'obtenais un avertissement ActiveX en essayant d'utiliser cet extrait de code:

filter:progid:DXImageTransform.Microsoft.gradient

Après avoir supprimé cela, l'avertissement a disparu. Je sais que ce n'est pas une réponse, mais j'ai pensé qu'il valait la peine de le noter.

1
Chad