opacity
Tarzı içindeki bütün eleman ve her şeyi etkiler. Buna doğru cevap, bunun yerine bir rgba arka plan rengi kullanmaktır.
CSS oldukça basittir:
.myelement {
background: rgba(200, 54, 54, 0.5);
}
... ilk üç sayı, arka plan renginiz için kırmızı, yeşil ve mavi değerler ve dördüncüsü, değerle aynı şekilde çalışan "alfa" kanal opacity
değeridir.
Daha fazla bilgi için bu sayfaya bakın: http://css-tricks.com/rgba-browser-support/
Kötü tarafı, bunun IE8 veya daha düşük sürümlerde çalışmamasıdır. Yukarıda bağlantılandırdığım sayfa, çalışmadığı diğer birkaç tarayıcıyı da listeliyor, ancak şimdiye kadar hepsi çok eskidir; IE6 / 7/8 dışında şu anda kullanımda olan tüm tarayıcılar rgba renkleriyle çalışacaktır.
İyi haber şu ki CSS3Pie adlı bir hack kullanarak IE'yi bununla çalışmaya zorlayabilirsiniz . CSS3Pie, IE'nin eski sürümlerine rgba arka plan renkleri de dahil olmak üzere bir dizi modern CSS3 özelliği ekler.
Arka planlar için CSS3Pie kullanmak için, CSS'nize -pie-background
ve PIE behavior
stilinize belirli bir bildirim eklemeniz gerekir , böylece stil sayfanız şu şekilde görünür:
.myelement {
background: rgba(200, 54, 54, 0.5);
-pie-background: rgba(200, 54, 54, 0.5);
behavior: url(PIE.htc);
}
Umarım yardımcı olur.
[DÜZENLE]
Değeri ne olursa olsun, başkalarının da bahsettiği gibi, anahtar kelime filter
ile IE'nin stilini kullanabilirsiniz gradient
. CSS3Pie çözümü aslında aynı tekniği perde arkasında kullanır, ancak doğrudan IE'nin filtreleriyle uğraşma ihtiyacını ortadan kaldırır, böylece stil sayfalarınız çok daha temiz olur. (aynı zamanda bir sürü başka güzel özellik de ekler, ancak bu, bu tartışmayla ilgili değildir)