png -ს გამჭვირვალობის პრობლემა IE-ში
ოხ ეს საზიზღარი ნაცრისფერი ფონი რომელიც მოყვება png ფაილს IE-ში backround-ად. მისი მოგვარების გზა ბევრი მიკითხვ-მოკითხვის შემდეგ ვიპოვე შემდეგში.დავალებას ვასრულებთ შემდეგი თანმიმდევრობით
1. ვუშვებთ ფოტოშოფს
2. ვხსნით png ფაილს
3. ვირჩევთ რაიმე ისეთ ფერს, რომელიც არ არის სურათში
4. ამ ფერით ვავსებთ png ფაილის იმ ადგილებს, რომლებიც უნდა იყოს გამჭვირვალე.
5. შევდივართ პუნქტში Save For Web
6. მარჯვნივ ზევით ვირჩევთ შესანახ ტიპში PNG-8-ს.
7. გამოჩნდება ფერთა პალიტრა სადაც ერთ-ერთი ფერი იქნება ჩვენს მიერ ჩასხმული ფერი.
8. ვირჩევთ ამ ფერს და ფერების პალიტრის ქვევით ვაჭერთ მარცხნიდან პირველ პაწია ღილაკს რომელიც ჩასხმულ ფერს აქცევს გამჭვირვალედ.
9. ვაჭერთ Save-ს
პრინციპში ამითი ამ პრობლემის მოგვარება რეალურია მაგრამ ხშირ შემთხვევაში ამ ხერხის შედეგად მიიღება დაბალი ხარისხის სურათი.
არსებობს მეორე ხერხი, რომელსაც მე ვიყენებ და გამართულად მუშაობს. ამისთვის საჭიროა ფუნქცია –
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | // Makes alpha channels in IE 5.5 and 6.0 work properly. function correctPNG() { 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');">" img.outerHTML = strNewHTML i = i-1 } } } } |
და სამუდამოდ ვივიწყებთ ამ პრობლემას
P.S. არადა უხ IE-ს შემქნელებს!…
June 20th, 2008 at 4:20 pm
magaria dzaan!!!