Anders Moen Skrevet 1. august 2007 Del Skrevet 1. august 2007 (endret) Hei! Har noen transparente bakgrunnsbilder og vanlige bilder på en side jeg lager. Derfor satt jeg inn denne koden div, img { behavior: url(/includes/iepngfix.htc); } i en if ie. Da funka de transparente bildene, men .png bilder som nå ikke er transparente vises ikke i det hele tatt. Klikk for å se/fjerne innholdet nedenfor iepngfix.htc<public:component> <public:attach event="onpropertychange" onevent="doFix()" /> <script type="text/javascript"> // IE5.5+ PNG Alpha Fix v1.0RC4 // (c) 2004-2005 Angus Turnbull http://www.twinhelix.com // This is licensed under the CC-GNU LGPL, version 2.1 or later. // For details, see: http://creativecommons.org/licenses/LGPL/2.1/ // This must be a path to a blank image. That's all the configuration you need. if (typeof blankImg == 'undefined') var blankImg = '/muskelskjelett/images/blank.gif'; var f = 'DXImageTransform.Microsoft.AlphaImageLoader'; function filt(s, m) { if (filters[f]) { filters[f].enabled = s ? true : false; if (s) with (filters[f]) { src = s; sizingMethod = m } } else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")'; } function doFix() { // Assume IE7 is OK. if (!/MSIE (5\.5|6\.)/.test(navigator.userAgent) || (event && !/(background|src)/.test(event.propertyName))) return; var bgImg = currentStyle.backgroundImage || style.backgroundImage; if (tagName == 'IMG') { if ((/\.png$/i).test(src)) { if (currentStyle.width == 'auto' && currentStyle.height == 'auto') style.width = offsetWidth + 'px'; filt(src, 'scale'); src = blankImg; } else if (src.indexOf(blankImg) < 0) filt(); } else if (bgImg && bgImg != 'none') { if (bgImg.match(/^url[("']+(.*\.png)[)"']+$/i)) { var s = RegExp.$1; if (currentStyle.width == 'auto' && currentStyle.height == 'auto') style.width = offsetWidth + 'px'; style.backgroundImage = 'none'; filt(s, 'crop'); // IE link fix. for (var n = 0; n < childNodes.length; n++) if (childNodes[n].style) childNodes[n].style.position = 'relative'; } else filt(); } } doFix(); </script> </public:component> Åssen skal jeg fikse dette da..? Noen som har prøvd denne koden her før? Edit: De transparente bildene fungerer nå, men ikke de ikke-transparente png-bildene Edit 2: Det her gjelder bare bildene i IE som dere kanskje skjønte Endret 1. august 2007 av Anders-Moen Lenke til kommentar
Lokaltog Skrevet 6. august 2007 Del Skrevet 6. august 2007 Denne fixen fungerer ikke på transparente bakgrunnsbilder, men den skal fungere fint på img-elementer, så lenge filbanen er korrekt. Lenke til kommentar
Anders Moen Skrevet 6. august 2007 Forfatter Del Skrevet 6. august 2007 Å ja...da så Vet du om en kode som gjør at det vil fungere i bakgrunnsbilder og? Lenke til kommentar
Stian Jacobsen Skrevet 7. august 2007 Del Skrevet 7. august 2007 Jeg bruker samme png fix på bakgrunnsbilder.. du må bare definere det i css filen * { behavior: url(/includes/iepngfix.htc); } * = Alle elementer Så om du nå har, div#mybackground { background: url(transparent.png) no-repeat top left; } så skal det funke! Lenke til kommentar
Anders Moen Skrevet 7. august 2007 Forfatter Del Skrevet 7. august 2007 Å ja! Tenkte ikke på å bruke * { } (Jepp, vet at * er lik alle=) Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå