code:
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
29
30
31
32
33
34
35
36
37
38
39
| /*
Correctly handle PNG transparency in Win IE 5.5 & 6.
http://homepage.ntlworld.com/bobosola. Updated 18-Jan-2006.
Use in <HEAD> with DEFER keyword wrapped in conditional comments:
<!--[if lt IE 7]>
<script defer type="text/javascript" src="pngfix.js"></script>
<![endif]-->
*/
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
}
}
} |
Bovenstaande Javascript code is bedoeld om PNG-
afbeeldingen (edit: moet dus Achtergronden zijn) correct (dus transparant) weer te geven in oudere versies van IE (6.0 -). Een 'nare' bijwerking is wel dat deze PNG afbeeldingen geschaald worden naar 100% hoogte / breedte. Aangezien dit precies is wat jij wilt, kan dit een optie zijn.
(Let wel op, dat dit een nogal vervelende oplossing is, en ook zeker niet ideaal)
Een andere oplossing is misschien om van de betreffende achtergrond een afbeelding te maken, en de volledige content met een
div style="position: absolute;" eroverheen weer te geven. Ook weer een workaround, maar dat is er wel één die gegarandeerd werkt.
(Persoonlijk weet ik niet of het wel mogelijk is om de hoogte en breedte van een background in te stellen zonbder dit soort truukjes)