PNG fix - men med CSS tilgang
Hey!Jeg vil gerne bruge png-formatet på mit site da det jo er rart når noget skal være transparent. Har dog et lille problem med det.
Jeg har fundet et gangske udemærket "fix" der kan ordne det til Explorer - og det virker fint. Det skal være være hardcoded i form i IMG-tag for at det kan ses. Jeg vil gerne bruge min png som gentagende baggrund så det bliver lagt i med CSS. Her er lidt kode:
----------------------------
// PNG FIXER - pngbehavior.htc
<public:component lightWeight="true">
<public:attach event="onpropertychange" onevent="propertyChanged()" />
<public:attach event="onbeforeprint" onevent="beforePrint()" for="window"/>
<public:attach event="onafterprint" onevent="afterPrint()" for="window"/>
<script>
/*
* PNG Behavior
*
* This script was created by Erik Arvidsson (http://webfx.eae.net/contact.html#erik)
* for WebFX (http://webfx.eae.net)
* Copyright 2002-2004
*
* Version: 1.02
* Created: 2001-??-?? First working version
* Updated: 2002-03-28 Fixed issue when starting with a non png image and
* switching between non png images
* 2003-01-06 Fixed RegExp to correctly work with IE 5.0x
* 2004-05-09 When printing revert to original
*
*/
var supported = /MSIE ((5\.5)|[6789])/.test(navigator.userAgent) &&
navigator.platform == "Win32";
var realSrc;
var blankSrc = "blank.gif";
var isPrinting = false;
if (supported) fixImage();
function propertyChanged() {
if (!supported || isPrinting) return;
var pName = event.propertyName;
if (pName != "src") return;
// if not set to blank
if (!new RegExp(blankSrc).test(src))
fixImage();
};
function fixImage() {
// get src
var src = element.src;
// check for real change
if (src == realSrc && /\.png$/i.test(src)) {
element.src = blankSrc;
return;
}
if ( ! new RegExp(blankSrc).test(src)) {
// backup old src
realSrc = src;
}
// test for png
if (/\.png$/i.test(realSrc)) {
// set blank image
element.src = blankSrc;
// set filter
element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft." +
"AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
}
else {
// remove filter
element.runtimeStyle.filter = "";
}
}
function beforePrint() {
isPrinting = true;
element.src = realSrc;
element.runtimeStyle.filter = "";
realSrc = null;
}
function afterPrint() {
isPrinting = false;
fixImage();
}
</script>
</public:component>
----------------------------
// CSS KODE
img {
behavior:url("pngbehavior.htc");
}
#Venstre_side {
background-image:url(../img/venstre_side.png);
background-repeat:repeat-y;
width:29px;
}
----------------------------¨
Spørgsmålet er så ... hvordan får jeg det omskrevet til at kunne bruge ved hjælp af css-IDs?
(Ikke codehaj btw)
:D
/Kim
