Browserweiche IE und andere

Thema:Es geht um die unterschiedliche Darstellungsweise des „backgroundimage“ bei Internet Explorer im Vergleich zu Firefox, Safari etc.

Problem: Wenn ich ein sich wiederholende Hintergrundgrafik im IE habe, dann ist sie immer um 2 Pixel nach links verschoben. Das ist dann je nach Browser nicht mehr passgenau mit überlagerten Layouttabellen.

Fehlgeschlagener Lösungsversuch:
Ich habe mit dem Code von Dr.Web’s „Blitzschneller Browserweiche“ versucht dem IE zu befehlen, daß er doch bitte die Grafik um 2 pixel nach rechts schieben soll. Was ist jetzt an meinem Code falsch?

<![if IE]–>
body,td,th {
color: #666666;
}
body {
background-color: #FFFFFF;
background-image: url(Background.jpg);
background-repeat: repeat;
background-position: 2px 0px;
}
a:link {
color: #CC0000;
}
a:visited {
color: #990000;
}
<!–[endif]>
<!–
body,td,th {
color: #666666;
}
body {
background-color: #FFFFFF;
background-image: url(Background.jpg);
background-repeat: repeat;
background-position: 0px 0px;
}
a:link {
color: #CC0000;
}
a:visited {
color: #990000;
}
–>

Hallo Florian,

Was ist jetzt an meinem Code falsch?

falsche Reihenfolge - der Conditional Comment steht aussen, der Style-Bereich innen.

Also so:

Schöne Grüße
Yasmin

Danke Yasmin für deine schnelle Antwort!
Ich verstehe leider sehr wenig vom programmieren, ich probiere immer nur rum, indem ich Codeblöcke zusammenfüge. Im Dr. Web stand, daß alle anderen Browser den Teil zwischen überspringen, also muss ich ja nochmal den Zwischencode wiederholen mit Alternativbrowserangaben, oder?
Ich habe es jetzt mal so versucht, aber funktioniert nicht:

body,td,th {
color: #666666;
}
body {
background-color: #FFFFFF;
background-image: url(Background.jpg);
background-repeat: repeat;
background-position: 0px 0px;
}
a:link {
color: #CC0000;
}
a:visited {
color: #990000;
}
–>

falsche Reihenfolge - der Conditional Comment steht aussen,
der Style-Bereich innen.

Also so:

Schöne Grüße
Yasmin

Im Dr. Web stand, daß alle anderen Browser den Teil zwischen überspringen, also muss ich ja
nochmal den Zwischencode wiederholen mit
Alternativbrowserangaben, oder?
Ich habe es jetzt mal so versucht, aber funktioniert nicht

Leider hast Du schon wieder die falsche Reihenfolge erwischt. So wie Du Deine Anweisungen jetzt notiert hast, greift der IE zwar auf den Bereich der Conditional Comments zu, kommt aber als nächstes zu den Style-Anweisungen für die anderen Browser, erkennt diese ebenfalls (warum auch nicht?) und überschreibt dadurch die Anweisungen, die nur für ihn waren*.

Wenn Du das ganze andersherum notierst, wird’s richtig: Der IE liest die Anweisungen für die anderen Browser ein, kommt dann zu dem Teil, der nur für ihn ist und überschreibt mit den neuen Anweisungen die ersten. Die anderen Browser dagegen lesen ihren Teil, kommen dann zum IE-Teil und ignorieren durch die Conditional Comments, dass da noch weitere Anweisungen enthalten sind.

Es muss also so aussehen:

\<!--
\<I\>Anweisungen für Browser, die nicht der IE sind. \</I\>
--\>

Schöne Grüße
Yasmin

* Hängt zusammen mit der Kaskade. Falls es Dich genauer interessiert: http://www.thestyleworks.de/basics/cascade.shtml

Ah super! Vielen Dank! Es funktioniert!
Irgendwann muss ich auch mal html & css lernen, aber jetzt kann ich erstmal in Ruhe flashen. siehe artronics-de
Gute N8, Flo