(X)HTML, JavaScript, DHTML, XML, CSS Client scripting tehnologije, Dynamic HTML, Cascading Stylesheets, XML i standardi |
|
Alati teme | Način prikaza |
14. 04. 2006. | #1 |
Knowledge base
Wrote a book
|
PNG kao background
Svi znamo koliko je tesko naterati .png sliku da radi u exploreru preko CSS background-a. Najzad resenje koje upravo resava gore pomenuti problem.
Kôd:
if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent) { window.attachEvent("onload", alphaBackgrounds); } function alphaBackgrounds(){ var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, ''); var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5); for (i=0; i<document.all.length; i++){ var bg = document.all[i].currentStyle.backgroundImage; if (itsAllGood && bg){ if (bg.match(/\.png/i) != null){ var mypng = bg.substring(5,bg.length-2); document.all[i].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+mypng+"', sizingMethod='scale')"; document.all[i].style.backgroundImage = "url('/images/x.gif')"; } } } } Ima nekih sitnih bug-ova kada se koristi u nekim ekstremnim situacijama dok u 95% slucajeva radi savrseno. Podrzane su verzije explorera 5.x pa navise. Malo li je Poslednja izmena od jasmanac : 14. 04. 2006. u 02:26. |
14. 04. 2006. | #2 |
Designer guy
Wrote a book
|
Da li ovaj sistem pravi problem sa neklikabilnim linkovima koji se nalaze u elementu na čiju pozadinu se utiče ovim JSom? Ukoliko ne znaš za bug pogledaj ovu test stranicu
|
14. 04. 2006. | #3 |
Nikola Denić
Sir Write-a-Lot
|
Svaka ti se dala ..
ovo ide na top
__________________
Do not ask yourself what the world needs. Ask yourself what makes you come alive, and then go do that. Because what the world needs is people who have come alive |
14. 04. 2006. | #4 |
Ivan Dilber
Sir Write-a-Lot
|
ovo je u stvari ona klasicna png fora samo primenjena na currentStyle.backgroundImage jel da?
Super fora, ne bih se setio priznajem...bravo za ovo @Dragane, ovaj tvoj primer meni nesto cudno radi, samo prvi primer radi u FF (na druga 2 nema slike), dok mi s u IE sve slike vide, ali link ne radi, kao sto kazes... inace FF je 1.5.0.2 frisko skinut pre pola sata
__________________
Leadership is the art of getting people to want to do what you know must be done. Poslednja izmena od ivanhoe : 14. 04. 2006. u 07:36. |
14. 04. 2006. | #5 |
Direktor Kombinata
Invented the damn thing
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
|
Jedini problem koji zadaju je što sve "aktivno" (link, kontrola, anything) što staviš u blok koji ima transparentnan PNG kao background u IE (učitan pomoću AlphaImageLoader filtera) gubi aktivnu funkciju. Potrebno je dodati još jedan unutrašnji blok i relativno ga pozicionirati i onda nema tog problema. Prljavo ali radi posao.
Inače sam primetio da transprantni PNG kao background danas zadaje više problema nego što pruža zauzvrat. Koristio sam ga samo zato što sam morao...
__________________
activeCollab - Project Management and Collaboration Tool iz domaće kuhinje | area51.rs - Blog |
14. 04. 2006. | #6 | |
Boban Karišik
Expert
|
Citat:
Inace, ja sam do sada koristio ovo i radi lepo(za moje potrebe): Kôd:
* html #transparent { filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../gfx/div_bg.png", sizingMethod="scale"); } |
|
14. 04. 2006. | #7 |
Designer guy
Wrote a book
|
@ ivanhoe:
Da, loše sam ilustrovao, FF treba da vidi samo prvi jer druga dva pre alphaImageLoadera imaju pravilo background:transparent; da bi "otkazao" originalnu sliku za IE, FF to vidi ali ne razume loader, pa ne prikaže ništa naravno. Jednostavno loše sam ilustrovao, rekao da ću popraviti čim nađem vremena, ono vraga... suma sumarum: Dakle ima li razlike izm. ovog JSa i alphaImageLoadera u CSSu? |
14. 04. 2006. | #8 | |
Knowledge base
Wrote a book
|
Citat:
|
|
14. 04. 2006. | #9 | |
Direktor Kombinata
Invented the damn thing
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
|
Citat:
Btw, relativno pozicioniranje rešava probleme sa aktivnim kontrolama (linkovi, polja formi itd) koji se nalaze u bloku sa transaprentnim PNGom (kao što rekoh gore). Tema za blog? Ovo podrazumeva malo istraživanja, a ja sam se celoj materiji posvetio taman toliko da je hacknem da radi Sigurno ima još par trikova koje ne znam.
__________________
activeCollab - Project Management and Collaboration Tool iz domaće kuhinje | area51.rs - Blog |
|
20. 04. 2006. | #10 |
A suicide bomber!
Certified
|
sto se tice linkova koji ne rade u bloku sa transparentnim pngom negde sam procitao da slicica (taj png) mora da bude nekih od sledecih dimenzija: 1x1, 1x2, 1x3, 1x4, 1x7, 1x10, 2x1, 2x2, 3x1, 3x2, 4x1, 4x2, 7x2, 10x2 da bi link radio... mada nisam to isprobavao..
__________________
jQuery addict! |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
Chrome background image | bluesman | Web aplikacije, web servisi i software | 1 | 24. 04. 2009. 08:13 |
background-color u FF... | Misko | (X)HTML, JavaScript, DHTML, XML, CSS | 5 | 03. 12. 2007. 20:04 |
php in background | Blood | PHP | 1 | 12. 06. 2006. 15:39 |
IE brlja background-color | andrej | (X)HTML, JavaScript, DHTML, XML, CSS | 2 | 29. 10. 2005. 20:35 |