Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 16

Thema: Html: +/- Verwendung transparenter PNGs

  1. #1
    Registrierter Benutzer Avatar von ContainerDriver
    Registriert seit
    10.01.2003
    Beiträge
    418

    Html: +/- Verwendung transparenter PNGs

    Servus.

    Ich arbeite gerade an einer neuen Internetseite.
    Jetzt würde ich auch gerne (semi)transparente PNGs verwenden, weil sich damit doch recht tolle Effekte erzielen lassen (und vor allen Dingen sind die transparenten PNGs recht wartungsarm, wenn man z.B. den Hintergrund der Seite ändert).
    Allerdings weiß ja jedermann, das der Internet Explorer von Microsoft keine (halb)transparenten PNGs unterstützt. Und das ist scheinbar ein Problem.

    Also,

    Vorteile
    ======
    - wartungsarm
    - sieht schön aus

    Nachteile
    =======
    - funktioniert nicht im oben erwähnten Browser

    Und jetzt weiß ich nicht, was ich machen soll.

    Wie haltet ihr es?
    Verwendet hier solche PNGs oder lasst ihr es lieber bleiben (zu Gunsten einer mit allen Browsern leserlichen Seite)?

    Gruß, Florian
    Ein gebrechlich Wesen ist der X-Server.

  2. #2
    Registrierter Benutzer
    Registriert seit
    27.08.2002
    Beiträge
    337
    Was sind denn (halb)transparenten PNGs?
    Mit transparenten PNGs hatte ich noch nie Probleme.
    Auch wenn Teile des Bildes transparent waren klappte es einwandfrei.

  3. #3
    Registrierter Benutzer Avatar von ContainerDriver
    Registriert seit
    10.01.2003
    Beiträge
    418
    Hi!
    Halbtransparente PNGs sind PNG mit "alphablending".
    Schau mal auf http://enlightenment.org/pages/main.html. Am unteren Rand siehst du ein Bild (http://enlightenment.org/pages/i/bottom.png). Das ist halbtransparent (das meine ich zumindest damit).

    Gruß, FLorian
    Ein gebrechlich Wesen ist der X-Server.

  4. #4
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Das musst du von Fall zu Fall entscheiden denke ich.

    Kriterien:
    - Geschäftsauftritt oder so (dann geht sowas natürlich nicht) oder private Homepage
    - Zielpublikum (wobei da kann man sich verschätzen, meine HP ist recht klar Linuxgerichtet und hat trotzdem einen recht grossen Anteil IE-Nutzer)
    - Wie siehts denn im Betreffenden Bösewicht aus? Hässlich? Oder gehts noch so (zumindest leserlich sollte es schon sein).

    Zu meiner Homepage gibts diesbezüglich nichts zu sagen weil ich so gut wie keine Bilder habe - und erst recht keine Transparenten.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  5. #5
    Registrierter Benutzer
    Registriert seit
    27.08.2002
    Beiträge
    337
    Mit allen Bowsern wird es nicht funktionieren.
    Ich habe dir aber etwas in das Verzeichnis
    http://www.agenda21.dillingen.de/CBE.html
    gestellt. Kannst da mal rumbasteln.

  6. #6
    capicu
    Gast
    kopier das script ganz unten z.B. in eine JS-Datei "trans.js" und binde diese dann auf der gewünschten seite ganz am Schluss ein mit

    Code:
    <script language="JavaScript" src="trans.js"></script>
    und plötzlich stellt der IE alle semi-transparenten PNG's perfekt dar

    Code:
    // (c) dynarch.com 2003
    // Author: Mihai Bazon, http://dynarch.com/mishoo/
    
    if(/MSIE (5\.5|6).*Windows/.test(navigator.userAgent)) (function() {
    	// fucked-up browser (Internet Explorer for Windows)
    	var blank = new Image;
    	blank.src = 'blank.gif';
    	var imgs = document.getElementsByTagName("img");
    	for (var i = imgs.length; --i >= 0;) {
    		var img = imgs[i];
    		var src = img.src;
    		if (!/\.png$/.test(src))
    			continue;
    		var s = img.runtimeStyle;
    
    		// brauchts die folgenden 2 Zeilen??  (bei Problemen entfernen)
    		s.width = img.offsetWidth + "px";
    		s.height = img.offsetHeight + "px";
    
    		s.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
    		img.src = blank.src;
    	}
    })();
    die andern browser (opera, mozilla) solltens auch sonst tun..

    (ich weiss, nicht der perfekte weg, aber es klappt.....)

    gruss capicu
    Geändert von capicu (02-12-2004 um 08:16 Uhr)

  7. #7
    Registrierter Benutzer
    Registriert seit
    05.09.2002
    Ort
    Neuhausen
    Beiträge
    320
    @capicu: Der ist ja geil! (Sorry die Ausdrucksweise, aber ich konnte nicht anders...)

    Ich verwende in Webseiten prinzipiell PNGs, ausser für Fotos (jpeg). Bis jetzt is es mir immer gelungen die Transparenzen zu vermeiden. Ich will keine Besucher ausschliessen, auch keine IE-Benutzer. Zwar kann es sein, dass die Seite im IE nicht optimal aussieht, aber sie bleibt benutzbar. Schwarze Grafiken führen meist dazu, dass die Seite nicht mehr richtig benutzbar ist (weil nicht lesbar), und deshalb verzichte ich momentan noch darauf. Der oben gepostete Flicken wird das in Zukunft ändern. Denn wenn ich sowieso das Box-Model hacken muss, dann fällt dieser Flicken nicht mehr gross ins Gewicht.

    Für nächstes Jahr wünsche ich mir, dass alle Browser (und auch der IE) CSS >=2.0, Transparenzen im PNG und SVG unterstützen *träum*.

    Gruss, Andy

  8. #8
    capicu
    Gast
    microsoft sollte es wohl hinkriegen, das einzubauen!

    mit dem trick geht's ja.... seltsam...

    ich war auch sehr froh als ich das script gefunden habe!

  9. #9
    Registrierter Benutzer Avatar von ContainerDriver
    Registriert seit
    10.01.2003
    Beiträge
    418
    Also erst mal vielen Dank für euere Mühen!

    Zum Skript vom capicu: so etwas wollte ich vermeiden bzw. ist es mir sogar unmöglich zu benutzen, denn
    1. muss der gefundene Browser (durch den user agent) nicht immer dem tatsächlich benutzten Browser entsprechen (und z.B. opera (wenn er sich als IE ausgiebt) kann mit dem Konstrukt dann nichts anfangen)
    2. ich benutze vor allen Dingen Hintergrundbilder die halbtransparent sind, und diese binde ich mit css ein, um so einfach das Aussehen der Seite über eine Datei steuern zu können => es gibt im Grunde keine img-Tags.

    Trotzdem vielen Dank!


    Ich habe mich jetzt übrigens für den Einsatz von solchen PNGs entschieden, da
    1. PNG das empfohlene Bildformat des W3C ist,
    2. Microsoft seit vier Jahren von diesem Missstand weiß (stand auf der Seite für die PNG-Petition für den IE), das der IE keine PNGs mit alpha blending anzeigen kann,
    3. der IE sehr wohl derartige PNGs anzeigen kann, allerdings nur mit IE-spezifischen Code (also Code, den nicht jeder Browser versteht), d.h. der IE ist in der Lage das richtig anzuzeigen, man soll aber IE-Code verwenden, um die Bilder darstellen zu können (und damit mit, meine ich, wird versucht, die Monopolstellung des IE zu festigen, um Seitenautoren zu zwingen (die PNGs verwenden wollen), den IE-Code zu verwenden, was dazu führt, das andere Browser die Seite nicht darstellen können).

    Ich versuche zwar immer meine Seiten möglichst so zu erstellen, das sie in allen Browsern korrekt dargestellt werden, allerdings verzichte ich darauf, wenn damit der ganze Ansatz (Kapselung des Layouts in css-Dateien, keine JavaScript Verwendung) versaut wird.

    Gruß, Florian
    Ein gebrechlich Wesen ist der X-Server.

  10. #10
    Registrierter Benutzer Avatar von BlueJay
    Registriert seit
    27.08.2004
    Beiträge
    825
    Zitat Zitat von florian hanisch
    [PNG]
    Nachteile
    =======
    - funktioniert nicht im oben erwähnten Browser
    ... und die PNGs sind doppelt so groß wie die entsprechenden GIFs

    weiterer Vorteil aber: größere Farbtiefe

    Wie haltet ihr es?
    Solange die PNGs keine Transparenz enthalten, nhme ich sie auch, sonst verzichte ich schweren Herzens auf den Alpha-Kanal und nehme GIFs. Bei Halbtransparenz wird getrickst, was auch ganz gut klappt, es sei denn, man hat ein TFT-Display, und der Unterschied Vordergrund zu Hintergrund ist zu kraß.

    Die Trickserei mit Javascript ist IMHO den Aufwand nicht wert.
    Wer es dennoch anwenden will, sollte auf runtimeStyle abfragen statt auf die Browserkennung.

    so long,
    BlueJay

  11. #11
    Registrierter Benutzer
    Registriert seit
    19.04.2001
    Beiträge
    159
    Zitat Zitat von florian hanisch
    Ich habe mich jetzt übrigens für den Einsatz von solchen PNGs entschieden, da
    1. PNG das empfohlene Bildformat des W3C ist,
    2. Microsoft seit vier Jahren von diesem Missstand weiß (stand auf der Seite für die PNG-Petition für den IE), das der IE keine PNGs mit alpha blending anzeigen kann,
    3. der IE sehr wohl derartige PNGs anzeigen kann, allerdings nur mit IE-spezifischen Code (also Code, den nicht jeder Browser versteht), d.h. der IE ist in der Lage das richtig anzuzeigen, man soll aber IE-Code verwenden, um die Bilder darstellen zu können (und damit mit, meine ich, wird versucht, die Monopolstellung des IE zu festigen, um Seitenautoren zu zwingen (die PNGs verwenden wollen), den IE-Code zu verwenden, was dazu führt, das andere Browser die Seite nicht darstellen können).

    imho die richtige Entscheidung, würde ich auch so machen.
    Ein Browser hat nirgend ein Monopol, auch nicht auf windows. Jeder kann selber entscheiden was er verwendet, ohne dabei zusätzliche Kosten zu haben.
    Auf der Seite des Hompeagebetreibers kannst du dich nur an den Standard (w3c) halten, der Rest liegt in der Hand des Benutzers. Wenn er will kann er einen Browser benutzen der sich sehr gut an den Standard hält und hat somit keine Probleme. Will er das nicht, dann ist es seine Entscheidung, dann trifft dich aber keine Schuld, du kannst nicht mehr machen wie sauberes HTML schreiben und freie und für alle dokumentierte Formate zu verwenden.

    "I could have made some money developing proprietary software, and perhaps amused myself writing code. But I knew that at the end of my career, I would look back on years of building walls to divide people, and feel I had spent my life making the world a worse place."
    -- Richard M. Stallman

    Wissenskommunismus und Wissenskapitalismus
    Offene Quellen und öffentliches Wissen
    und vieles mehr: VRG's Texts , Philosophy of the GNU Project

  12. #12
    Registrierter Benutzer
    Registriert seit
    14.01.2002
    Beiträge
    657
    hallo,

    gibt es auch eine möglichkeit, dem ie transparenz bei pngs beizubringen, die man in stylesheet elementen als hintergrundbild benutzt??

    danke Markus

  13. #13
    Registrierter Benutzer
    Registriert seit
    14.01.2002
    Beiträge
    657
    hallo,

    http://www.koivi.com/ie-png-transparency/
    funktioniert auch bei stylesheets, die durch diese funktion mit interpretiert werden.
    angabe des bildes muss in ' erfolgen und nicht in ", da der code es sonst nicht erkennt, kann man natürlich anpassen.
    background-image: url('/gfx/tcat.png');

  14. #14
    capicu
    Gast
    Zitat Zitat von msi
    hallo,

    http://www.koivi.com/ie-png-transparency/
    funktioniert auch bei stylesheets, die durch diese funktion mit interpretiert werden.
    angabe des bildes muss in ' erfolgen und nicht in ", da der code es sonst nicht erkennt, kann man natürlich anpassen.
    background-image: url('/gfx/tcat.png');
    sauber danke! das hab ich genau noch gesucht.... tolles forum


    EDIT: ich merk grad dass das beispiel-bild auf der seite nicht funktioniert mit dem IE ... war zuerst mit dem opera drauf ^^
    Geändert von capicu (06-12-2004 um 09:32 Uhr)

  15. #15
    Mactabilis
    Gast

    Unhappy

    Ich habe sowohl das JavaScript als auch das php script versucht auf meiner png-bilder seite einzubinden doch komme nicht zu einem einwandfreien ergebnis.

    Ihr koennts euch ja mal HIER anschauen.

    Irgend eine Idee was falsch ist ? Das javascript ist ganz utnen eingebunden, und das php script von der andern site ist auch korreckt eingebunden !

Lesezeichen

Berechtigungen

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