+ Antworten
Ergebnis 1 bis 6 von 6

Thema: Transparente PNGs - harte Fakten

  1. #1
    TP-Supporter Heglanx macht alles soweit korrekt Avatar von Heglanx
    Registriert seit
    Dec 2002
    Beiträge
    421

    Transparente PNGs - harte Fakten

    a) Gibt es überhaupt eine Lösung für transparente PNGs im IE6, wenn man seine Images über ein externes Style-Sheet einbindet und dort mit dem Befehl background-image: ...; arbeitet?

    Habe jetzt einige Methoden getestet. Viele mit Java-Script. Aber keine hat im IE6 (SP3) funktioniert?

    Kann es sein, dass diese ganzen Methoden nur dann funktionieren, wenn man das img-Tag benutzt?

    Ausserdem würde mich wundernehmen, ob es auch eine Lösung für gekachelte PNGs gibt? Ich habe in einem x-beliebigen DIV eines verwendet, um den Hintergrund ein wenig durchscheinen zu lassen. Geht das auch anders? Mit einer Methode die IE6 tauglich ist?

  2. #2
    TP-Specialist phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts Avatar von phpBuddy
    Registriert seit
    Aug 2004
    Ort
    Kaiserslautern
    Beiträge
    4.622
    Generell kann jeder Browser der PNG darstellen kann, auch transparente PNG darstellen, solange diese als PNG8 mit max. 256 Farben abgespeichert wurde. Problematisch wird es nur, wenn eine Alpha-Kanal Transparenz benutzt wird. Dann kommt man um eine der gängigen JS Lösungen für ältere Browser nicht herum. Hier etwas Lektüre zum lesen [1] [2] was es mit transparenten PNG und Browser auf sich hat.

  3. #3
    TP-Supporter Heglanx macht alles soweit korrekt Avatar von Heglanx
    Registriert seit
    Dec 2002
    Beiträge
    421
    Wow. Habe ja lange gegoogelt. Aber diese zwei Links habe ich zum Thema noch nicht gesehen. So ganz nebenbei: habe mir mal den Alpha-Filter angeschaut. Der könnte unter Umständen eines meiner Probleme mit dem gekachelten PNG lösen. Mal schauen. Dumm ist nur, dass er das vererbt!

    labuschin.com - Artikel zu PNG und dem IE

    Das Problem löst sich ja so anscheinend ziemlich elegant.
    Geändert von Heglanx (28.12.2008 um 07:50 Uhr)

  4. #4
    TP-Supporter Heglanx macht alles soweit korrekt Avatar von Heglanx
    Registriert seit
    Dec 2002
    Beiträge
    421
    Hab das gekachelte auch über folgenden Code hinbekommen (rein alternativ):

    Code:
    filter:alpha(opacity=50); /* IE */
    	-moz-opacity: 0.50; /* Gecko */
    	opacity: 0.50; /* Opera */
    Dann kann man sich and dieser Stelle das hier sparen:

    Code:
    * html #gewünschtes_Element {background-image: none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop src='../images/gewünschtes_PNG.png)}
    Man muss halt mit absolut positionierten DIV-Boxen arbeiten. Und mit z-index layern, um die Boxen unter/über- einander zu legen. Der IE6 (SP3) hat zumindest mit den Alpha-Filtern keine Probleme!

  5. #5
    TP-Insider mogidala hilft, wo's geht mogidala hilft, wo's geht mogidala hilft, wo's geht Avatar von mogidala
    Registriert seit
    Sep 2007
    Ort
    Mülheim an der Ruhr
    Beiträge
    786
    Guten morgen, ich löse die PNG-Problematik hiermit. Für mich als JS-Unerfahrener die einfachste Lösung, da ich nur einen Eintrag in der CSS machen muss und fortan transparente PNGs (fast) überall verwenden kann wo ich möchte. Fast deshalb, weil's leider nur mit Hintergrundbildern funktioniert, die auch nicht wiederholt werden dürfen, reichte aber bisher immer aus.

    Mit dieser .htc-"Technik" gibts ja auch noch die "Lösung" für das hover-Problem im IE - allerdings hab ich es noch nicht geschafft, beide Files unter einen Hut zu bekommen
    Anstatt zu klagen was ihr wollt, solltet ihr dankbar sein, dass ihr nicht all das bekommt, was ihr verdient
    ------------------------------------------
    Virtuelle Babyparty
    ------------------------------------------
    ich will mehr grüne kästchen!

  6. #6
    TP-Supporter Heglanx macht alles soweit korrekt Avatar von Heglanx
    Registriert seit
    Dec 2002
    Beiträge
    421
    Dann muss ich mir diese Methode nochmals anschauen. Hab die ein paar mal getestet aber das hat nicht wirklich funktioniert. Ich bin von ner ähnlichen Site ausgegangen:

    The easiest way to fix png!

    Grundlage ist hierbei ja immer ein blank.gif und ein .htc File. Diese Methode löst aber das Problem von background: repeat; immer noch nicht. Ich habe mir für unifarbene Flächen, welche lediglich transparent durscheinen sollen, zwei Ansätze überlegt. Mal von dem Fakt ausgesehen, dass es anscheinend keine adäquate Lösung für gekachelte PNGs gibt.

    I) Man erzeugt ein PNG welches einfach so gross ist wie die Fläche selber. Erzeugt zwar ein paar Kilobytes mehr, aber sowas muss man dann wohl in Kauf nehmen. Man könnte dann das ganze über ein Conditional Comment explizit nur für den IE6 einbinden. Bei dieser Methode würde ich auf diesen Code setzten:

    Code:
    * html #gewünschtes_Element {background-image: none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop src='../images/gewünschtes_Bild.png)}
    Er ist rein in CSS einzubauen und benötigt keine weiteren Files. Das ist praktisch und erleichtert die Arbeit. Für Neulinge kurz erklärt.

    #gewünschtes_Element steht vor dieser Definition ganz normal für alle anderen Browser. Diese Technik versteht nach meinem Wissen sowieso nur der IE. Alle anderen interpretieren den AlphaImageLoader nicht.

    Code:
    #gewünschtes_Element {background-image: url(gewünschtes_Bild.png);}
    * html #gewünschtes_Element {background-image: none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop src='../images/gewünschtes_Bild.png)}
    II) Man arbeitet mit dem Alpha-Filter, weil dieser lustigerweise in IE6 korrekt dargestellt wird. Ein Problem hat man, dass diese Eigenschaft auf alle Kinderelemente (Unterelemente) vererbt wird. Doofe Sache. Da bleibt nur noch position: absolute! Die DIV-Boxen nebeneinander legen und mit festen Breiten/Höhen arbeiten und layern über den z-index. Was jetzt so zumindest in meinem Fall funktioniert hat.
    Geändert von Heglanx (28.12.2008 um 17:26 Uhr)

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Ähnliche Themen

  1. Adobe CS4 Suiten - Fakten und Daten Online
    Von Madokan im Forum Einfach so ...
    Antworten: 19
    Letzter Beitrag: 28.09.2008, 14:33
  2. Private Krankenversicherung - Zahlen und Fakten
    Von mommel im Forum Sozialversicherung
    Antworten: 9
    Letzter Beitrag: 27.04.2007, 08:19
  3. Wo gibt es kostenlose PNGs?
    Von web334 im Forum Webdesign allgemein
    Antworten: 8
    Letzter Beitrag: 18.03.2007, 13:44
  4. Transparente PNGs im Internet Explorer (Windows)
    Von pancake im Forum Dreamweaver & andere Webeditoren
    Antworten: 3
    Letzter Beitrag: 29.08.2006, 13:42
  5. Nur was für Harte
    Von TobiasKa im Forum Einfach so ...
    Antworten: 8
    Letzter Beitrag: 10.03.2003, 19:25

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein

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 40 41 42 43 44 45 46 47 48 49 50 51