2012-05-01 6 views
7

同じエフェクトに勾配エフェクトとボーダー半径を使用しようとしていますが、それらの間に矛盾があります。グラデーションはうまく動作しますが、境界線の半径は機能しません。ここIE9フィルター勾配とボーダー半径の矛盾

は、私がどんな.htcファイルを使用したくないスクリプト

.selector { 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff4317',endColorstr='#891a00'); 
    -webkit-border-radius: 5px; 
    -moz-border-radius: 5px; 
    border-radius: 5px; 
} 

です。

フィルタとボーダー半径の間にこの既知の問題はありますか?

ありがとうございました。 http://www.colorzilla.com/gradient-editor/http://jsfiddle.net/thirtydot/Egn9A/

はSVG勾配、使用を生成するには:あなたはSVGのグラデーションを使用することができます

+0

http://stackoverflow.com/questions/9298929/rounded-corners-not-working-in-ie9 私はIE9でフィルタを回避し、代わりにSVGを使用する –

+0

ことをしてみてください。私は通常、この便利なツールを使ってグラデーション用のCSSを生成しています:http://www.colorzilla.com/gradient-editor/ – Jrod

答えて

7

は、ここにborder-radiusとIE9で動作する例を示します。 IEの他のブラウザ/バージョンでも動作させることについて言及していませんが、それがあなたがしようとしているもの(filterを使用している可能性があります)の場合は、「IE9サポート」セクション。

別のサイトSVG勾配を生成する:http://ie.microsoft.com/testdrive/graphics/svggradientbackgroundmaker/default.html

3

国境半径のため、これらのクラスを使用し、勾配

HTMLコード:

<div class="box-radius ">border radius with gradient</div>

CSSコード:

.box-radius { 
     -webkit-border-radius: 5px; 
      -moz-border-radius: 5px; 
      -o-border-radius: 5px; 
       border-radius: 5px; 
     /* behavior: url(border-radius.htc); */ 
    } 

.gradient { 
    background-image: -moz-linear-gradient(top, #ff4317, #891a00); /* Firefox 3.6 */ 
    background-image: -webkit-gradient(linear,left bottom,left top,color-stop(0, #ff4317),color-stop(1, #891a00)); /* Safari & Chrome */ 
    filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#ff4317',endColorstr='#891a00'); /* IE6 & IE7 */ 
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#ff4317',endColorstr='#891a00')"; /* IE8 */ 
関連する問題