web-dev-qa-db-ja.com

フィルター:progid:DXImageTransform.Microsoft.gradientがie7で機能しない

divにグラデーションの背景色を適用したい。

IEプロパティを使用しました:

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

IE9およびIE8で動作しています。しかし、IE7では動作しません。

IEで表示するにはどうすればよいですか?

ここにJSFiddleがあります: http://jsfiddle.net/xRcXL/2/

29
Pavan Kumar

コメントでフィドルを見て、問題を修正するのは非常に簡単です。 overflow:autoを追加するか、divに特定の高さを設定するだけです。ライブの例: 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

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 */

ソース: http://www.colorzilla.com/gradient-editor/

2
feeela

これは動作するはずです:

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)";

それ以外の場合は、これを使用して生成し、コードを取得します。

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

2

テスト中IE7/8/9このコードスニペットを使用しようとすると、ActiveX警告が表示されました。

filter:progid:DXImageTransform.Microsoft.gradient

これを削除すると、警告は消えました。これは答えではないことは知っていますが、注意する価値があると思いました。

1
Chad