opacity
スタイルはその中の全要素、すべてに影響を与えます。これに対する正しい答えは、代わりにRGBA背景色を使用することです。
CSSはかなり単純です。
.myelement {
background: rgba(200, 54, 54, 0.5);
}
...最初の3つの数値は背景色の赤、緑、青の値で、4番目の数値は「アルファ」チャネルの値で、opacity
値と同じように機能します。
詳細については、このページを参照してください:http : //css-tricks.com/rgba-browser-support/
欠点は、IE8以下では機能しないことです。上記でリンクしたページには、動作しない他のいくつかのブラウザーもリストされていますが、それらはすべて非常に古いものです。IE6 / 7/8以外の現在使用中のすべてのブラウザーは、rgba色で動作します。
良いニュースは、CSS3Pieと呼ばれるハックを使用して、IEに強制的にこれを使用させることもできるということです。CSS3Pieは、rgbaの背景色を含む、IEの古いバージョンに多くの最新のCSS3機能を追加します。
CSS3Pieを背景に使用-pie-background
するには、CSSに特定の宣言とPIE behavior
スタイルを追加する必要があるため、スタイルシートは次のようになります。
.myelement {
background: rgba(200, 54, 54, 0.5);
-pie-background: rgba(200, 54, 54, 0.5);
behavior: url(PIE.htc);
}
お役に立てば幸いです。
[編集]
他の人が述べたように、それが価値があるものについては、あなたfilter
はgradient
キーワードでIEのスタイルを使うことができます。CSS3Pieソリューションは、実際には同じ手法を舞台裏で使用しますが、IEのフィルターを直接操作する必要がなくなるため、スタイルシートがよりクリーンになります。(また、他の素晴らしい機能もたくさん追加しますが、この説明には関係ありません)