|
Posted by Carl on 02/11/06 03:45
Amanda H. wrote:
> Hi guys,
> I just started switching my site over to tableless css, and I'm using a
>
> very lovely, transparent PNG-24 image. I have been trying to figure
> out if there is any way to replace an image before loading only for
> certain browsers using either javascript or PHP (I'm using PHP to
> switch stylesheets and prefer server-side).
>
> The problem is IE's handling of PNG-24 files: every other browser has
> alpha compatibility and displays PNG-24 images correctly, even IE/Mac.
> But IE/Win shows the transparent areas as blue. This is a commonly
> known bug that I haven't been able to find a definitive fix for.
>
> What I want to happen is for the JS or PHP to detect if the browser is
> IE/Win. Then, if so, replace the code or load an alternate css
> stylesheet to display a GIF instead of the PNG. I am mostly using the
> PNG-24 in a div as a background-image in an external stylesheet.
>
> Anyone had any idea if this is possible? I only have a meager
> understanding of javascript and PHP, so any help would be greatly
> appreciated.
>
> Thanks,
>
> Amanda H.
>
In php you can check the value of $_SERVER['HTTP_USER_AGENT'] or the
return value of the get_browser() function (
http://www.php.net/function.get-browser ), and echo the statement that
imports the stylesheet accordingly.
Alternatively, have you considered using the 'underscore hack' (
http://www.google.com/search?q=css+underscore+hack ) in your css file to
change the background-image value when the css is loaded in IE?
[Back to original message]
|