User since
2005-04-14
684
Artikel
BenutzerIn
Hallo
Kann mir eine(r) folgendes erklären:
Das kenne ich:
<!--[if IE 6]>
Angaben für Internet Explorer 6
<![endif]-->
<!--[if IE 7]>
Angaben für Internet Explorer 7
<![endif]-->
(lt lte gt gte sind mir auch klar)
Das habe ich gesehen und es funktioniert
<!--[if gte IE 7]><!--></a><!--<![endif]-->
Welchen Sinn und Zweck haben die für mich sinnfreien Kommentare bzw. Kommentar-Fragmente?
TIA & Gruss
Kristian
User since
2005-01-17
14770
Artikel
Admin1
<!--[if gte IE 7]>
<!--></a><!--
<![endif]-->
wäre das.
Keine Ahnung was so ein kaputtes HTML beim IE 7 bewirkt.
Zudem ist das keien Browserweiche sondern ein Conditional Comment, der nur beim IE funktioniert. Insofern ist es eher eine IE-eigenes HTML-Tag (auch wenn ich es nicht so nenne möchte).
Aber was hat das mit CSS zu tun?
User since
2006-11-16
258
Artikel
BenutzerIn
Conditional Comments
Sind u.U. recht nützlich, weil verschiedene Browser dieselbe Seite unterschiedlich rendern.
User since
2005-04-14
684
Artikel
BenutzerIn
Hallo Drachin
GwenDragon+2008-01-10 18:48:48--
<!--[if gte IE 7]>
<!--></a><!--
<![endif]-->
wäre das.
Keine Ahnung was so ein kaputtes HTML beim IE 7 bewirkt.
Zudem ist das keien Browserweiche sondern ein Conditional Comment, der nur beim IE funktioniert. Insofern ist es eher eine IE-eigenes HTML-Tag (auch wenn ich es nicht so nenne möchte).
Aber was hat das mit CSS zu tun?
Jepp, das kaputte verstehe ich ja nicht, ne CSS-Weiche wird es wenn man(in) dort die CSS-Datei für diese @!grummel-Software aufruft.
Achso, der Code scheint von einem zu kommen der Ahnung davon hat.
(auch wenn es für unser eins nicht so aussieht)
Guckst du
Gruss Kristian
User since
2005-04-14
684
Artikel
BenutzerIn
Ha!
Wikipedia hat doch die Erklärung.
Danke RalphFFM!
Wenn der HTML-Code auch noch valide nach W3C sein soll, muß er folgendermaßen ergänzt werden:
<!--[if IE 7]><!-->Anweisungen auch für andere Browser<!--<![endif]-->
Gott ist das krank....
Ich sollte diesen Sch.... nicht machen, der Herausforderung bin ich nicht gewachsen.
Danke an alle, Ticket closed, wieder was gelernt und MS steigt in meiner Liste der lohnenden Atomziele...
Gruss
Kristian
User since
2006-02-17
628
Artikel
BenutzerIn
Eigentlich ist die Sache ganz einfach. Das ist schlicht und ergreifen ein HTML Kommentar in dem Anweisungen stehen, die der IE befolgt.
Schritt für Schritt:
1. ein HTML Kommentar:
<!-- --
<!-- -->
Jeder Browser ignoriert den kompletten Inhalt von Kommentaren.
2. Die IE Konditionen
[if] [endif]
Der IE erkennt die eckigen Klammern als Befehl (für allen anderen Browser ist es einfach nur ein Kommentar) und alles was innerhalb steht wird ganz normal geparst.
3. Deshalb muss zuerst der Kommenar Tag geschlossen werden (für alle anderen Browser ist es ein Zeichen im Kommentar)
4. Jetzt folgt der HTML Code, den allein der IE sieht (und dessen Bedingungen erfüllt sind)
5. und das [endif] muss halt wieder einem HTML Kommentar stehen, für den IE, nur man darf den an dieser Stelle nicht so <!-- schreiben, da ansonsten der Kommentar für die anderen Browser zu Ende wäre (das -- beendet einen Kommentar), deshalb akzeptiert der IE <! als Beginn eines HTML Kommentar um sein [endif] parsen zu können.
6. Dann sind wieder die anderen Browser dran und mit --> sind alle Glücklich.
Innerhalb der CCs, Tags für andere Browser auszugeben halte ich für fragwürdig. Ich würd CCs auch nur zur Not verwenden, weiß aber dass z.b. YAML davon intensiv Gebrauch macht. wobei mir solche Verreckungen um irgendwelche alten Browser oder minimale Bugs zu umgehen, Kopfschmerzen bereiten und ich gerne darauf verzichte. Aber Leute denen ein Pixelgenaues Design, in allen Browsern, wichtig ist, kommen um sowas halt nicht umhin.