2011-01-21 33 views
1

Jquery.corner()を使用してdivのコーナーを丸めようとしています。IEの透明な背景

しかし、IEではコーナーの背景が親のdivカラー(ボディカラー:#C70036;)です。私はあなたが黄色のボックス(here)で見ることができるように背景画像を使用していますが、正しく動作していません。

$("myDiv").corner("cc:#fff round 20px"); 

しかし、私は「CC:#000000」を使用することはできませんので、背景がちょうど1色ではありません:私はこれを見つけたしばらくの間、検索後

コーナーの背景を透明にする方法は知っていますか?

答えて

4

これらのjQueryツールを使用してIEの角をシミュレートする限り、常にこの問題が発生します。問題は、コーナーの上に要素を追加して作業するため、背景が常に問題になることです(滑らかなアンチエイリアスエッジなどがない丸いコーナーなど、おそらくロットの最悪の問題です)。

しかし、解決策があります。CSS3Pieと呼ばれるIEハックがあり、これは別の手法を使用しており、この問題がない本物の丸いコーナーを生成します。

CSS3Pieのもう一つの良い点は、IEが標準のCSS border-radiusスタイルを使用しようとしていることです。つまり、すべてのブラウザで機能する最新の標準を使ってスタイルシートを書くことができます。

あなたのページにはJavascript/JQueryコードは必要ありません(CSS3Pie自体はJavascriptに基づいていますが、ページから抽象化されているため、1行のコードを書く必要はありません)。それはIE特有のハックであるため、他のブラウザではロードされません。他のすべてのブラウザはCSS標準を使用し、丸められたコーナーを無料で入手します。 IEだけが動作するように余分なコードを実行する必要があります。

最後に、CSS3Pieはドロップシャドウやグラデーションなどの他のいくつかの最新のCSS3スタイルをサポートします。

+0

本当に有益だったThx: – Remo

+0

はい、私は[css3pie](http://css3pie.com/)にアドバイスします。本当にうまく動作します。警告として、jQuery(つまり7-8)を使用して.fadeIn()および.fadeOut()に関する問題が発生しました。 – Eruant

+0

CSSPIEd htmlタグの親タグに背景イメージがある場合、このタグは機能しません。私はそれを前に試しました。 – marknt15