Jacques: PNG, IE und filter

Hallo,

Im Archiv bin darüber gestoßen, dass man PNGs problemlos auch im IE verwenden kann, wenn man ihnen einen CSS-filter verpasst.

Könnte ich in meiner CSS-Datei dann nicht einfach folgendes stehen haben:

img { filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(); }

Gibt es eine Lösung die so einfach ist?

Schlechtere Alternative:

Könnte man notfalls statt

<img src="null.gif" width="400" height="300" border="0" alt="MSIE-PNG"
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='graphik.png', sizingMethod='scale')">

auch

<img src="graphik.png" width="400" height="300" border="0" alt="MSIE-PNG"
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='graphik.png', sizingMethod='scale')">

schreiben? Dann wären nämlich alle Probleme gelöst (von der umständlichen Schreibweise mal abgesehen).

Wenn man auf den Alphakanal verzichtet, scheint ja auch ohne die blöde IE-Notation alles zu klappen.

Kann der IE 6 inzwischen PNG?

Danke schon ma
Jacques

  1. Hallo ,

    Kann der IE 6 inzwischen PNG?

    Wenn man von der Halbtransparenz absieht dann schon.

    Grüße
    Jeena Paradies

    --
    Ihr wisst ja nichts ist besser als Bass.
  2. Hallo,

    Schlechtere Alternative:
    Könnte man notfalls statt
    <img src="null.gif" width="400" height="300" border="0" alt="MSIE-PNG"
    style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='graphik.png', sizingMethod='scale')">

    auch

    <img src="graphik.png" width="400" height="300" border="0" alt="MSIE-PNG"
    style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='graphik.png', sizingMethod='scale')">

    schreiben? Dann wären nämlich alle Probleme gelöst (von der umständlichen Schreibweise mal abgesehen).

    Also ohne es ausprobieren zu wollen, glaube ich nicht das das funktioniert wenn Du dem IE ein png statt des (100% transparenten) gifs anbietest. Dieses wird ja als _nichtsichtbarer_ Platzhalter in der Größe der Originaldatei eingesetzt. Und das ja nur weil der IE auf WindowsSystemen die Transparenz von 24bit PNGs nicht darstellen kann.

    PNGs ohne Transparenz kannst Du ganz normal für alle Browser gleich notieren, ohne diesen IE-filter-Kram ;-).

    Wenn Du transparente PNGs einsetzen möchtest die auch der IE korrekt anzeigt solltest (oder mußt?) Du vorher den Clientbrowser ermitteln und nur wenn es ein IE auf einem WindowsSystem ist diesen Filterkram in das ImageTag einbauen.

    Es gibt da eine sehr gute Beispielseite (in Englisch) die auch gleich noch eine fertige (PHP-)Funktion für dieses Problem anbietet.

    Wenn Du also viele transparente PNGs einsetzen willst und über die Möglichkeit PHP einzusetzen verfügst, ist das eine sehr bequeme und komfortable Vorgehensweise *g*.

    Viele Grüße,
    Horst

    Ach ja, hätt' ich beinahe den Link vergessen:
    http://koivi.com/ie-png-transparency/
    (Man sollte die Seite natürlich am besten mit einem Windows-IE besuchen)

  3. Hallo,

    Ich empfehle da immer wieder gerne http://webfx.eae.net/dhtml/pngbehavior/pngbehavior.html
    Getestet, funktioniert dann in IE, Moz, NS und Opera.

    Gruß,
    Henning

  4. Hallo ,

    Im Archiv bin darüber gestoßen, dass man PNGs problemlos auch im IE verwenden kann, wenn man ihnen einen CSS-filter verpasst.

    Ich hatte da mal auch so einen fall. Ich habe dann allen png Bildern eine Klasse zugeteilt. Danach habe ich für diese Klasse diesen Filter in css deffiniert.

    .menu a:hover {
     filter:Alpha(opacity=55, style=0)
    }

    Ist aber anscheinend irgendwas anderes als bei dir. Um den css Code valide zu halten habe ich das mit diesem

    <!--[if gte IE 5]>
         <link href="screenie.css" rel="stylesheet" type="text/css">
    <![endif]-->

    eingebunden.

    Grüße
    Jeena Paradies

    --
    Ihr wisst ja nichts ist besser als Bass.