Schrift
[thread]11124[/thread]

Browser-Weiche für CSS



<< >> 6 Einträge, 1 Seite
kristian
 2008-01-10 19:04
#104571 #104571
User since
2005-04-14
684 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo

Kann mir eine(r) folgendes erklären:

Das kenne ich:
Code: (dl )
1
2
3
4
5
6
   <!--[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
Code: (dl )
<!--[if gte IE 7]><!--></a><!--<![endif]-->


Welchen Sinn und Zweck haben die für mich sinnfreien Kommentare bzw. Kommentar-Fragmente?

TIA & Gruss
Kristian
GwenDragon
 2008-01-10 19:48
#104573 #104573
User since
2005-01-17
14554 Artikel
Admin1
[Homepage]
user image
Code: (dl )
1
2
3
<!--[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?
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

RalphFFM
 2008-01-10 20:16
#104574 #104574
User since
2006-11-16
258 Artikel
BenutzerIn
[Homepage] [default_avatar]
Conditional Comments

Sind u.U. recht nützlich, weil verschiedene Browser dieselbe Seite unterschiedlich rendern.
kristian
 2008-01-10 20:37
#104575 #104575
User since
2005-04-14
684 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo Drachin
GwenDragon+2008-01-10 18:48:48--
Code: (dl )
1
2
3
<!--[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
kristian
 2008-01-10 20:42
#104577 #104577
User since
2005-04-14
684 Artikel
BenutzerIn
[Homepage] [default_avatar]
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:
Code: (dl )
<!--[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
Struppi
 2008-01-11 12:01
#104615 #104615
User since
2006-02-17
628 Artikel
BenutzerIn
[Homepage]
user image
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.
<< >> 6 Einträge, 1 Seite



View all threads created 2008-01-10 19:04.