Toch transparante PNG in IE < 7. the easy way
Ik liep bij het bouwen van mijn website ertegenaan dat de transparante png's niet goed werden weergegeven. De bestaande oplossingen vond ik niet netjes (javascript of csshack) omdat bij de eerste bezoekers zonder js enabled er niets aan hebben en de 2e je css niet meer valid is.
Bij mijn manier word aan alleen gebruikers met IE < 6 de filter alphaimageloader voorgeschoteld.. alle andere browser hebben dit filter niet.
Het gebruik is simpel. bij alle aanroepen van je css roep je dit bestand aan met ?file=jecsszonderextentie, dus als ik main.css wil en ik heb dit bestand getCSS.php genoemt roep ik getCSS.php?file=main op. (je kan zoals ik het heb gedaan met mod-rewrite de namen weer rechtzetten.. mijn server zet main.css om in getCSS.php?file=main op deze manier kan je dit dus toevoegen zonder je html aan te passen.
Het is ook mogenlijk om in 1x meerdere css bestanden tegelijk te laden. De files moeten dan gescheiden worden met een , dus bijv: getCSS.php?file=main,home
een extra feature is dat als je bijvoorbeeld een transparante achtergrond wil en je reapeat daarom een kleine PNG door in je css zoiets te zetten: background:plaatje.png repeat;
je er /*SCALE*/ achter kan zetten, dan zorgt het filter ervoor dat het plaatje uitgerekt komt (anders laat hij alleen maar 1x je kleine plaatje zien), maar dit zou je zelf even moeten testen om het duidelijk te krijgen.
LET OP: deze filter werkt alleen wanneer er in je css een afbeelding opgeeft.. dus op een normale img tag in je html heeft het geen invloed.
en nog iets, het kan zo zijn dat door dit filter links niet meer werken, dit moet je zelf zien op te lossen door bijvoorbeeld een extra div te plaatesen met een andere position (even googlen dus)
Gesponsorde koppelingen
PHP script bestanden
Er zijn 6 reacties op 'Toch transparante png in ie en lt 7 the easy way'
Om te reageren heb je een account nodig en je moet ingelogd zijn.
PHP hulp
0 seconden vanaf nu