‘opacity’ etiketi için sonuçlar

CSS İpucu 19: Tüm Tarayıcılar İçin CSS İle Saydamlık(Opacity)

Daha önce birçok kez bu konuda bana e-posta geldi. Buraya yazmanın mantıklı olacağını düşündüm.

secici {
    opacity: .75; /* Standard: FF gt 1.5, Opera, Safari */
    filter: alpha(opacity=75); /* IE lt 8 */
    -ms-filter: "alpha(opacity=75)"; /* IE 8 */
    -khtml-opacity: .75; /* Safari 1.x */
    -moz-opacity: .75; /* FF lt 1.5, Netscape */
}

Örneği görmek için tıklayınız.

Kod aslında tek satır olması gerekir ki CSS 3 ile birlikte bu tek satır olacaktır. opacity: değer; tanımı ile halledeceğiz. Ama şu an yürürlükte olan tarayıcılar için yukarıdaki 5 satır kodu yazmalıyız.

Bu kodu yazmak o kadar da sorun değil, ama eğer bu kodu yazdığınız sayfanızı W3C doğrulamasından geçirirseniz aşağıdaki gibi bir hata alacaksınız.

donuklasma_val2

Bence W3C doğrulması çok önemli olmasada bazen şartlar doğrulama gerektirdiğinde(mesela müşteri istediğinde) bu sorunu çözmek için bir kaç yöntem var.

Bu yöntemlerden biri javascript fonksiyonu hazırlayıp bu fonksiyon yardımı ile elemanlarımızı saydamlaştırma;

function donuklastirma(element, donukDeger){
    var oe = document.getElementById(element);
    // donuklastirma degeri
    oe.setAttribute("style", "opacity:"+ donukDeger +";")
    if (oe.style.setAttribute) // IE icin
    oe.style.setAttribute("filter", "alpha(opacity="+ donukDeger*100 +");")
}

Örneği görmek için tıklayınız.

Diğer bir yöntemde ise ayrı bir css kodu yazıp bu kodu javascript ile ekleyebiliriz

<script type="text/javascript">
document.write('<link rel="stylesheet" type="text/css" media="screen" href="style/donuklastirma.css" />');
</script>

Sorun: opacity tanımı kapsadığı elemanın içeriğini de etkiler bunu engellemek için Robert Nyman’ın bir çözümü var. http://robertnyman.com/2010/01/11/css-background-transparency-without-affecting-child-elements-through-rgba-and-filters/ denemedim bir bakın isterseniz.

Kaynaklar

31 Aralık 2007 Web’den Seçme Haberler

26 Aralık

  • “LINQ’nun diğer yüzü :)” Bağlantı
  • Doğrulanmış CSS ile saydamlaştırma özelliği eklemek. Bilindiği gibi opacity özelliğinin farklı tarayıcılardaki kodu W3C validator’dan geçmiyor, CSS3 ile bu durum düzeltilmiş olsa bile, şimdilik burada anlatılan metot mantıklı. Bağlantı
  • Eburhan’dan “Css ile hazırladığım mesaj kutuları” Bağlantı
  • google chart api(grafik) hakkında bir makale. Bağlantı
  • Daron Yöndem – LINQ2XML. Bağlantı
  • Güzel bir css menü örneği. Bağlantı
  • innerHTml kullanımının bize kaybettirdiği zamanı kazanmak. Bağlantı
  • javascript’e dair güzel notlar. Bağlantı
  • mailing hakkında güzel bir yazı. Bağlantı
  • Microsoft Vista’yı hızlandırmanın 5 ipucu. Bağlantı
  • Firefox 3(Beta)’ün 5 güzel yenliği. Bağlantı

Kategoriler

Kitap

CSS'e başlangıç Uzun süredir üzerinde çalıştığım CSS’e başlangıç kitabımı bitirdim. Aslında buna bir kitap demek ne kadar doğru bilmiyorum. Tam doğru tanımı makalelerimin derlenip düzenli hale getirildiği bir e-doküman demek daha doğru olur. Bu kitap makalelerimi derleyip hazırladığım ilk kitap. İnşallah ikinci kitabıda yazmayı düşünüyorum. Zaman ve imkânlar nispetinde 2. kitapta çıkacaktır.