0

私はすべてのブラウザがデフォルトでを使用すると信じていますbackground-clip: border-box;。これはデフォルトの動作のようです。

使用する場合:http://www.colorzilla.com/gradient-editor/最終プロパティとしてフィルターを指定します。IE9を使用すると、背景が境界線からはみ出し、border-clipプロパティが無効になります。

ここに説明するフィドルがあります:http://jsfiddle.net/tPDMb/3/

とりあえずフィルターステートメントを削除することになりましたが、それにより、ie9以下ではバックグラウンドグラデーションがまったくなくなります。

他の誰かがこの問題に遭遇しましたか?

4

1 に答える 1

1

デフォルトの動作はボーダーボックスにクリップすることであると述べているのは正しいです。の初期値background-clipは確かにborder-boxです。

問題は、IEフィルターが真のCSSバックグラウンドレイヤーではないことです。そのため、IEグラデーションフィルターは、、、などのすべての背景と境界線の配置/クリッピングプロパティを無視background-clipbackground-positionますborder-radius。残念ながら、これは仕様によるものです。これらのプロパティを尊重しながらIE9以下でグラデーションの背景を機能させる唯一の方法は、事前にレンダリングされたグラデーション画像を使用することです。古いIEをサポートする必要がある場合は、ColorZillaが提供するSVGパーツをPNG画像などに置き換えるだけです。

于 2012-10-16T01:59:01.157 に答える