2011-08-31 12 views
8

次のCSSビットを使用して線形背景勾配を作成しています。 IE8/9、FF、Safari、Chromeでは正常に動作しますが、IE7では正常に動作していないようです。 IE7は、背景が緑色であることを示しています。ここに私のコードは、このパラメータ変換場合、私はわからないんだCSS付きIE7の背景勾配

.menu_body a { 
    display:block; 
    color:#006699; 
    background: #008800; 
    /* Mozilla: */ 
    background: -moz-linear-gradient(top, #0b71a4, #025f8e); 
    /* Chrome, Safari:*/ 
    background: -webkit-gradient(linear, 
      left top, left bottom, from(#0b71a4), to(#025f8e)); 
    /* MSIE */ 
    filter: progid:DXImageTransform.Microsoft.Gradient(
      StartColorStr='#0b71a4', EndColorStr='#025f8e', GradientType=0); 
    padding: 1px 18px; 
} 

答えて

18

IEで< = 7の場合、要素がlayoutでないとフィルタは機能しません。

zoom: 1; 

background-imageは、安全で信頼性の高いソリューションであるかもしれない良いので、古い、それは他のものを壊すことがあるので注意してください。

また、CSSにはOpera、IE10、Webkitの構文が更新されていないことに注意してください。

+1

ありがとう、これはすごくうまくいった! (私は新しいメンバーだから投票を行うことはできませんでしたが、それは残念です)編集:Webkitの最新の構文については、-webkit-linear-gradient()を使用できますか? – Kiwi1

+0

@Schimmel Correct;異なるベンダープレフィックスを除いて、構文はFirefoxとIE10と同じです。ちなみに、左のチェックボックスをクリックすると、自分の答えを受け入れることができます。 – duri

+0

@duri - IE10?それは何か新しいことですか? :) – Dementic

0

で大文字と小文字が区別されている - しかし、他のほとんどのCSSは、あなたが試みることができる、あるとして見て:

startColorstr='#0b71a4', endColorstr='#025f8e' 

お知らせ小文字が始まります文字、および小文字のstrの接尾辞。

+0

私はあなたの解決策を試しましたが、残念ながらそれは機能しませんでした。また、すべてのインスタンスを下部ケーシングにしようとしましたが、それもうまくいかないようでした。 – Kiwi1

+0

'progid:DXImageTransform.Microsoft.gradient'も試してください。小文字の' gradient'に注意してください。 –

+0

もう一度お返事ありがとうございますが、残念ながらこれもうまくいきませんでした。次の文書によると、この変換はInternet Explorer 5.5以降では機能するはずなので、私は本当に混乱しています。参照してください:http://msdn.microsoft.com/en-us/library/ms532997%28v=vs.85%29.aspx – Kiwi1

2

正しい構文は次のとおりです。

filter: progid:DXImageTransform.Microsoft.gradient 
(startColorstr=#550000FF, endColorstr=#55FFFF00) 

これは、IE4によってサポートされています>

MSDNソースhereを参照してください。