4

IE で透明な png を正しく表示するための実用的なソリューションは多数ありますが、画像が回転したコンテナーにある場合、これらのソリューションはすべて機能しません。

私はもう試した

img{
    background: transparent; 
    -ms-filter: “progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF)”; 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF); 
    zoom: 1;
}

IE の透明な png バグを回避するために使用しますが、機能しません。

でショーケースを作成しました。 http://jsfiddle.net/s__a/Hmyc2/

Microsoft Internet Explorer 7でこれにアクセスしてください。IE8ではローテーションが実装されていません。IE7 /IE8で回転した画像を正しく表示するのを手伝ってくれる人はいますか?

よろしくお願いします。

4

1 に答える 1

0

固体背景のみの解決策が見つかりました

それをつなぎ合わせるには、少し掘り下げる必要がありました。私の最初のリードはこのサイトで、次のようなコード変更が行われました。実際、私は今気づきました。以下にあるのは、あなたがあなたの質問で機能しなかったとあなたが言ったのと同じコードですが、それでも私にとっては機能します...私のフィドルを再確認して、それが今あなたのために機能するかどうかを確認してください。このフィドルでは、IE7では機能しましたがIE8では機能しなかったことに注意してください(img回転しません)。

.test-1{
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#FFFFFFFF,endColorstr=#FFFFFFFF)";/* IE 8 */ 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#FFFFFFFF,endColorstr=#FFFFFFFF);   /* IE 6 & 7 */ 
    clip:rect(0px 276px 267px 0px);  /* top,right,bottom,left */ 
}

したがって、もう少し掘り下げて、Stack Overflowの回答を使用すると、IE8でもフィドルが機能するようになります。IE8の最終的な修正は、子要素を回転させないというバグを修正するために、Matrixフィルターを使用して変換されるアイテムを追加する必要があることでした。z-indeximg

ただし、この「修正」は明らかに部分的なものにすぎません。 グラデーションのアルファ値が透明に設定されている場合、回転されていない要素でのみ機能するため、回転された要素の問題は、背景自体に対する透明性については現在も残っています。#00FFFFFF

于 2012-07-13T16:13:45.163 に答える