Ausnahme für IE6 und der W3C Validator

Status
Nicht offen für weitere Antworten.

Eagle-PsyX-

Erfahrenes Mitglied
Hi,
ich hab ein kleines Problem:
Ich hab in meiner Seite einige transparente PNGs drine. Wie diese im IE6 aussehen ist euch ja klar.
Meine Lösungsversuch ist dass ich den IMG-Tag nur innerhalb von "<![if gt IE 6 | !(IE 6)]>" darstelle. Wenn ich "<![if gt IE 6 | !(IE 6)]>" schreibe, klappt es mit IE/FF/Opera etc. perfekt, aber der W3C Validator ( ich benutzte XHTML 1.0 Transitional ) sieht das anders.
Mit "<!--[if gt IE 6 | !(IE 6)]-->" klappt es im FF aber im IE hab diesen Text da zu lesen.(Mir ist klar, dass ich auch tranzparente PNGs in IE6 hinbekomme, aber nur mit CSS und das wäre eine Zumutung bei der Menge von Bildern die ich benutzte {die zudem von PHP generiert werden})

Weiß jemand eine Lösung dafür (und zwar ohne USER_AGENT; bzw. PHP)?
 
Zuletzt bearbeitet:
Moin,

so sollte es aussehen
Code:
<!--[if gt IE 6]>
Das hier sieht IE6 nicht
<![endif]-->
damit haben weder IE noch der Validator Probleme :)
 
Firefox kennt Conditional Comments nicht, für ihn sind das immer Kommentare, und was den IE betrifft...das sollten IE7+IE8 sehen.

gt IE 6 bedeutet "greater than InternetExplorer 6"
 
Ist mir schon klar ;) deswegen benutzt ich ja auch:
<!--[if gt IE 6 | !(IE 6)]>
wenn neuer (größer ist ja auch mal komisch zu verstehen ;-) ) oder nicht IE 6...

Bist du dir sicher dass die FF nicht kennt? Mit anderer Schreibweise kennt er sie, nur meckert dann der W3C Validator, und das ist mein Problem. Es soll gehen und 'validiert' sein.

Habs hinbekommen:
<!--[if gt IE 6 | !(IE 6)]><!-->
...
<!--<![endif]-->

Klappt überall (IE; FF; Opera; Safari) und ist XHTML 1.0 Trans. validiert ;-)
 
Zuletzt bearbeitet:
Bist du dir sicher dass die FF nicht kennt? Mit anderer Schreibweise kennt er sie

Ich bin sicher, dass er sie nicht kennt...und auch sonst kein Browser, der nicht aus Redmond kommt :)

Sehe dir mal die Kommetare als solche an, für normale Browser fängt einer mit <!-- an und hört mit --> auf.

Das hier funktioniert :
Code:
<!--[if gt IE 6 | !(IE 6)]-->
...du könntest aber genauso
Code:
<!--Käsekuchen -->
...schreiben, hat im FF denselben Effekt.

Ähnlich siehts bei dem aus, was funktioniert...es ist ein schlichter Kommentar, und wird ignoriert:
Code:
<!--[if gt IE 6 | !(IE 6)]><!-->
...
<!--<![endif]-->

(Die rot markierten Passagen interessieren den FF jeweils nicht, weil sie Kommentar sind)
 
Probiers doch aus... Es klappt bei mir problemlos.
Ich kenne die Kommentare -
Aber wenn der Kommentar ignoriert wird, und das bringt was er machen soll, und IE aber NICHT ignoriert, dann klappt es bei meiner Verwendung doch ideal :)

Okay, im allgemeinem vielleicht nicht! Aber dann hab ich mein Problem doch geschickt gelöst^^
 
Zuletzt bearbeitet:
Habs hinbekommen:
<!--[if gt IE 6 | !(IE 6)]><!-->
...
<!--<![endif]-->

Klappt überall (IE; FF; Opera; Safari) und ist XHTML 1.0 Trans. validiert ;-)
Hi,

das ist ja ein abenteuerliches Konstrukt, das du dir da zurechtgeschnitzt hast, und ich hab da zweimal hinschauen müssen :suspekt:

Meines Wissens dürfen nämlich innerhalb eines Conditional Comments keine HTML-Kommentare gesetzt werden, da diese ansonsten im IE zum vorzeitigen Abbruch des "Conditional Comments" führen, der entsprechende Fehlinterpretationen zur Folge hat.

Alternative CSS-Dateien für den Internet Explorer (Conditional Comments) - soviel zum Thema, welcher Browsertyp diese Methode kennt bzw. interpretiert.

Achja, eh ich es vergesse: Ich nutze den "CC" ebenfalls für den IE6 (und älter) wegen seiner mangelnden PNG-Unterstützung in einem "XHTML 1.0 - Variante Strict"-Dokument:

Code:
<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
<!--[if lt IE 7]>
<link rel="stylesheet" type="text/css" href="css/pngfix_ie.css" media="screen" />
<![endif]-->
und habe das Markup vom w3c-Validator als valides "XHTML 1.0 Strict" bescheinigt bekommen :p

mfg Maik
 
Danke, aber ich will es eben ohne CSS machen.
CSS 'Browserweichen' benutzte ich schon lange. Aber in diesem Fall muss ich das mit "<img .."> lösen. Oder über 40 IDs/Klassen defenieren (und ständig wachsend). :)

Auf die Lösung bin ich nur durch googlen gekommen ;-)
Gewisse Bilder werden auch mit CSS dargestellt, diese entfallen im IE6.
 

Anhänge

  • FF.jpg
    FF.jpg
    56,7 KB · Aufrufe: 30
  • IE6.jpg
    IE6.jpg
    52,1 KB · Aufrufe: 23
Es führen bekanntermaßen immer viele Wege nach Rom.

Ich wollte mit meinem Hinweis zum Schluß auch nur zum Ausdruck bringen, dass es an deiner "eigenwilligen" Syntax im Conditional Comment liegt, wenn der w3c-Validator sie bemängelt, denn ein korrekt ausgezeichneter Conditional Comment wird von ihm nicht angekreidet, unabhängig von der gewählten Doctype-Deklaration.

mfg Maik
 
Status
Nicht offen für weitere Antworten.

Neue Beiträge

Zurück