2010-12-10 16 views
0

www.dropbox.comのwatch_a_video2.png画像は透明度が0.5の透明なPNG画像です。その上にマウスを置くと、不透明度が変わります。Dropboxは透明なPNG +不透明度をIEでどのように機能させるのですか?

IE7/8でwatch_a_video2.png画像の周囲に暗い輪郭線が表示されないようにするにはどうすればよいですか?

私は任意のフィルタまたは特定のIEの修正ライブラリが表示されない...

私はjQueryを使って自分のスタイルを再現しようと、それは、Firefox/Safariのと正常に動作しますが、私はIEと暗いアウトラインを取得します。

ありがとうございました。

alt text

+0

多分私は何かが欠けているかもしれませんが、私はIE7でこのポストを開いただけで、暗い輪郭が見えませんでした。編集:ああ、暗いアウトラインがマウスの上に表示されることを意味しますか? :) –

+0

はい、通常、透明なPNG画像に不透明度を設定するとIE7/8で暗いアウトラインになります。しかし、dropbox.comのウェブサイトでは、PNG画像の周囲に暗い輪郭が表示されません。 IE7/8バグを修正するために何をしたのかを知りたいだけです。 – benjisail

答えて

1

彼らはプロトタイプ(ちょっとjQueryのようなJavaScriptフレームワーク)を使用しています。このコードは、効果を達成するために表示されます(つまり、彼らはCSSを使用して、単純ではありません):

document.observe("dom:loaded", function() { 

    var play_link = $("playvideo"); 

    play_link.observe("mouseover", function() { 
     new Effect.Opacity(play_link.down("img"), { duration: 0.2, to: 1.0 }); 
    }); 

    play_link.observe("mouseout", function() { 
     new Effect.Opacity(play_link.down("img"), { duration: 0.2, to: 0.5 }); 
    }) 


    if (!FlashDetect.versionAtLeast(9)) { 
     $("has_flash").hide(); 
     $("no_flash").show(); 
    } 
}); 

このコードが適用されるHTML:

<a href="#" id="playvideo" onclick="play_screencast(); return false;"> 
    <img src="images/watch_a_video2.png" alt="Watch a video about Dropbox."/><br /> 
    Watch a Video 
</a> 

あなたは、おそらくこのような何かを設定する必要がありますCSSの場合も同様です:

a {text-decoration:none;} 
img { border:none;} 
/* of course you'd probably want to use a class or id on these elements */ 

上記のCSSは、画像の下線とリンクからアンダーラインを削除します。

最後に、実際のコードを投稿すると役立つかもしれません(私はIE8で青い輪郭が見えませんでした)。

+0

だから、解決策はプロトタイプライブラリの使用であると思われますか? – benjisail

+0

私はこれが「唯一の」解決策であるとは言いませんが、これはdropbox.comがそうしているようです。私は.fadeIn()と.fadeOut()を使用して無駄にJQueryソリューションを試してみました。 IE8はこれらの機能でうまく動作しません。私が何か別のものを考え出すと、私は自分の投稿を編集します。 – LittleTreeX