Zoque.Forum
»
IE altında düzgün görüntülenemeyen Transparan PNG sorununun çözümü
|
| ://www Web tasarımı ve internet ile ilgili olarak karşılaştığınız problemleri ve merak ettiklerinizi burada tartışabilirsiniz. |
![]() |
|
|
LinkBack | Seçenekler |
|
|
#1 (permalink) |
|
Üyelik Tarihi: 05.04.2004
Yer: İstanbul
Yaş: 30
Mesaj: 36
|
IE altında düzgün görüntülenemeyen Transparan PNG sorununun çözümü
Merhaba
web işi ile uğraşan herkez bir kez olsada sayfa içinde Transparan bir PNG eklemeyi denemiştir. Firefox eklenen Transparan PNG görüntülemede bir sorun yaşamazken internet Explorerda aynı sonucu almamız mümkün olmuyor. Erik Arvidsson kullanılışı çok basit bir yöntem ile IE 5.5 ve sonrası versiyonlarıda Win32 Platformu üzerinde çözüme ulaşmış. Tüm ihtiyacınız img elementine png behavior eklemek. Aşağıda bunu nasıl yapabileceğini gösteren style örnek olarak ekledim. Bu style dışında iki adet dosyayada ihtiyacınız olacak. Bunlardan biri pngbehavior.htc ve diğer dosya ise 1x1 pixel boyutunda transparan bir gif olan blank.gif dosyası. Bu iki dosyanında aynı klasörde olmaları önemli bir not. Eğer blank.gif dosyasının yerini değiştirmek istiyorsanız pngbehavior.htc içinde blank.gif geçtiği satırı bulup taşımak istediğiniz url yazabilirsiniz. <style type="text/CSS"> img { behavior: url("pngbehavior.htc") } </style> Bu iki dosyanın yanında Erik Arvidsson'un konuyu daha iyi anlatan, örneklerinde içinde bulunduğu dosyayı http://webfx.eae.net/download/pngbehavior102.zip altınan indirebilirsiniz. Kolay gelsin. |
|
|
|
|
|
#2 (permalink) |
|
Re: IE altında düzgün görüntülenemeyen Transparan PNG sorununun çözümü
Mükemmel bir kaynak, teşekkür ederim kendi adıma..
__________________
www.osmanarslan.com | kişisel portfolio |
|
|
|
|
|
|
#3 (permalink) |
|
Üyelik Tarihi: 02.08.2001
Yer: istanbul
Yaş: 38
Mesaj: 1,538
|
Re: IE altında düzgün görüntülenemeyen Transparan PNG sorununun çözümü
.htc'ye izin vermek güvenlik problemi teşkil edecek bir kapı açmaktır. aşağıdaki .js kod parçacığı da png problemlerini çözmeyi sağlamakta.
Kod:
<script language="JavaScript" type="text/JavaScript"> <!-- var arVersion = navigator.appVersion.split("MSIE") var version = parseFloat(arVersion[1]) if ((version >= 5.5) && (document.body.filters)) { for(var i=0; i<document.images.length; i++) { var img = document.images[i] var imgName = img.src.toUpperCase() if (imgName.substring(imgName.length-3, imgName.length) == "PNG") { var imgID = (img.id) ? "id='" + img.id + "' " : "" var imgClass = (img.className) ? "class='" + img.className + "' " : "" var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' " var imgStyle = "display:inline-block;" + img.style.cssText if (img.align == "left") imgStyle = "float:left;" + imgStyle if (img.align == "right") imgStyle = "float:right;" + imgStyle if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle var strNewHTML = "<span " + imgID + imgClass + imgTitle + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";" + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader" + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" img.outerHTML = strNewHTML i = i-1 } } } //--></script> |
|
|
|
|
|
#4 (permalink) |
|
Üyelik Tarihi: 05.04.2004
Yer: İstanbul
Yaş: 30
Mesaj: 36
|
Re: IE altında düzgün görüntülenemeyen Transparan PNG sorununun çözümü
Açıkcası .htc uzantılı dosyaların güvenlik açığına neden olduklarını bilmiyordum. Ben uzun zamandır kullandığım bu yöntemden verim aldığım için sizlerle paylaşmak istedim. Uyarı için teşekkürler cgencer. Eklemiş olduğun script benim vermiş olduğum yöntemden daha basit ve kullanışlı. Fakat script bu hali ile çalışmıyor. Scripti bir function içine almamız ve browserin açılışta bu scripti çalıştırması için onload olayını başlamamız gerekli. cgencer sunmuş olduğun pratik yöntem için tekrar teşekkürler.
Kod:
<script language="JavaScript" type="text/JavaScript"> <!-- function fixPng() { var arVersion = navigator.appVersion.split("MSIE") var version = parseFloat(arVersion[1]) if ((version >= 5.5) && (document.body.filters)) { for(var i=0; i<document.images.length; i++) { var img = document.images[i] var imgName = img.src.toUpperCase() if (imgName.substring(imgName.length-3, imgName.length) == "PNG") { var imgID = (img.id) ? "id='" + img.id + "' " : "" var imgClass = (img.className) ? "class='" + img.className + "' " : "" var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' " var imgStyle = "display:inline-block;" + img.style.cssText if (img.align == "left") imgStyle = "float:left;" + imgStyle if (img.align == "right") imgStyle = "float:right;" + imgStyle if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle var strNewHTML = "<span " + imgID + imgClass + imgTitle + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";" + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader" + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" img.outerHTML = strNewHTML i = i-1 } } } } window.onload = fixPng; //--></script> |
|
|
|
|
|
#5 (permalink) |
|
Re: IE altında düzgün görüntülenemeyen Transparan PNG sorununun çözümü
<IMG> tagıyla kullanıldığında çalışıyor, fakat CSS de style="background:url(img/k2.png) repeat-x bottom " şeklinde kullandığımda transparan özelliği çalışmıyor. Nasıl düzeltebilirz acaba bunu?
__________________
www.osmanarslan.com | kişisel portfolio |
|
|
|
|
|
|
#6 (permalink) |
|
Üyelik Tarihi: 14.06.2004
Yer: Ege'nin en büyük köyü
Yaş: 25
Mesaj: 566
|
Re: IE altında düzgün görüntülenemeyen Transparan PNG sorununun çözümü
__________________
Aza sormuşlar nereye gidiyorsun diye. Çoğun yanına demiş. :confused: |
|
|
|
|
|
#7 (permalink) |
|
Üyelik Tarihi: 02.11.2001
Yer: Viyana, İstanbul
Yaş: 30
Mesaj: 1,019
|
Re: IE altında düzgün görüntülenemeyen Transparan PNG sorununun çözümü
Transparent PNG'ı table arkaplanı yapmak böyle bir konuda geçmişti. (şimdiden söylim, örnekteki yaptığım iş değiştirilmiş. bu ne biçim iş diye kızmayın sonra
).
__________________
Z:web 2.0 As Flowers E-kart Düşünüyorum Öyleyse e-Varim Emre Murat Tatar Duyarlı Gençlik TR |
|
|
|
![]() |
| Etiketler |
| cozumu , sorununun , png , transparan , goruntulenemeyen , duzgun , altinda |
|
|
Zoque'a hoşgeldiniz!