• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Optimierung für den IE

Tronjer

Senior HTML'ler
Ich habe heute eine Site für den Firefox optimiert, die im IE leider optisch anders dargestellt wird. Beim IE9 sind es lediglich geringe Verschiebungen, aber IE8 und IE7 verändern die Zeilenumbrüche. :shock:

Theoretisch könnte ich nun eine Browserweiche für die unterschiedlichen Versionen bauen, aber leider lautet die Vorgabe, nur ein einziges Stylesheet anzulegen und ich habe auch keinen Zugriff auf den <head>, da dieser über ein Template per include eingebunden wird. Zu allem Überfluss bringt dieses Template bereits zwei CSS-Dateien mit, die ich mit meiner dritten überschreiben soll.

Mein erster Gedanke war, einen style-container mit conditional comments im <body> anzulegen und dort keine style-sheets zu verlinken, sondern direkt CSS-Anweisungen zu schreiben. Das funktionierte allerdings nicht. An Browser-Hacks käme eventuell Star-Plus-HTML in Frage, aber das läuft wiederum nur im IE7 und nicht in neueren Versionen. Dabei verwende ich keine "experimentellen Tags", sondern ausschließlich CSS 2.1, und kann nur vermuten, dass der IE ein Problem mit margin und padding haben könnte.

Gibt es hier vielleicht IE-Experten, die mit so etwas Erfahrung haben?
 
Hi,

habe mal eine Größere Seite auf IE7 optimiert.

Hier habe ich erst oft die Formatierung im CSS so angepasst, dass sich die meisten HTML Konstrukte ohne Hacks richtig verhalten haben, oder zumindest wesentlich besser, sodass das vorgegebene Design gepasst hat. Mit einem Umfangreichen Wissen sollte das an der Stelle schon manchmal helfen.(Hierfür wäre es, wie schon erwähnt hilfreich deinen Code zu sehen.

Bei Margin / Padding bin ich mir sehr sicher das nur eins von beiden große Probleme bereitet hat, bin mir aber nicht mehr sicher welches von beiden. Müsste man kurz testen. Ansonsten funktioniert es dann meist, wenn man sich auf eine Angabe beschränkt, sofern man eventuell am HTML selbst noch etwas verändert, was bei dir ja im Moment nicht ganz möglich ist?

Ich kram parralel mal rum und melde mich wenn ich noch ein paar Schlüsse aus meinen alten Codes ziehen kann.
 
Die Seite existiert bisher nur bei uns im Intranet. Ich kann den Code leider nicht posten, sonst hätte ich es getan. Der Einsatz von jQuery (wie gestern in dem anderen Thread erwähnt) ist auch nicht möglich, weil das Backend mit anderen Frameworks arbeitet und es da wohl zu Problemen kommen könnte. Das hat man mir zumindest gesagt. Hinsichtlich des IE kenne ich natürlich die CSS-Kompatibilitätsliste, weiß, dass man Browserweichen einsetzen kann und bei images border auf none setzt. Aber ansonsten habe ich leider null Plan von MS-Technologien. So etwas wird auf einschlägigen Web-Lehrgängen nicht vermittelt. Gibt es irgendwo eine Übersicht über Selektoren und Attribute, welche im IE Probleme verursachen, auch wenn sie eigentlich funktionieren müssten?

Bisher hatte ich mich für halbwegs versiert zumindest in HTML und CSS gehalten. Aber der Unterschied zwischen Hobby-Entwicklung und Berufspraxis ist doch recht heftig. :sad:
 
Versuche, einen Testcase zu bauen, den du uns zeigen kannst, der das Problem verdeutlicht. Ansonsten lässt sich da kaum konkret was zu sagen.

Etwas Hintergrund zu IE-Bugs:

- Explorer Exposed!
 
Zuletzt bearbeitet:
Die Komplikationen mit zwei verschiedenen JavaScript Frameworks in meinem Fall Mootools & JQuery hatte ich auch schon mal. Dort gibt es aber glaube ich sogar Möglichkeiten das doch zum Laufen zu bringen.
Problem war hier, dass JQuery sich das Dollerzeichen "$" reserviert o.ä. habe ich mal gelesen. Eventuell findest du damit eine Lösung wenn das dann noch in irgenteiner Form eine Option wäre.

Du hattest übrigens noch kein Feedback in deinem anderen Post gegeben.

Übersichten für IE Probleme kenne ich jetzt direkt keine, sollte es aber mit google zu finden sein. Für den IE gibt es ja viele diverse Hacks. Ich würde vielleicht doch auf Hacks setzen und das halt dann noch einmal für den IE 8 checken falls es dort auch sachen wie den Sternchen oder underscore Hack geben sollte. Ab IE9 sollten ja schon weniger Probleme (Bei 8 eigentlich auch) auftreten.

Am besten wäre aber meiner Ansicht wirklich, wenn du es schaffen würdest den vorhandenen Code so zu optimieren, dass es vielleicht schon passt.

Bisher hatte ich mich für halbwegs versiert zumindest in HTML und CSS gehalten. Aber der Unterschied zwischen Hobby-Entwicklung und Berufspraxis ist doch recht heftig. :sad:

Wenn einem so viele Blockaden in den Weg gelegt werden, fällt es sicherlich nicht nur Laien schwer, eine schnelle, gute Lösung zu finden.:-o
 
jQuery hat dafür jQuery.noConflict() – jQuery API.

Aber ich halte es so oder so für eine schlechte Idee, CSS-Probleme mit JavaScript zu bekämpfen.

Edit: Falls sich jemand wundert, was es mit dem Dollarzeichen auf sich hat: Soweit ich weiß, ist das nichts weiter als ein Zeichen, das in JS-Variablen erlaubt ist. So wie beispielsweise ein Unterstrich. Syntaktisch gesehen ist das also nicht mehr als eine Variable, die eben nicht var i = 0;, sondern var $ = 0; heißt. Was in jQuery $ heißt, könnte vermutlich mit gleichem Recht auch o oder purzelbaum heißen.
 
Zuletzt bearbeitet:
Wenn ich das Problem morgen nicht lösen kann, dann sehe ich mal zu, dass ich hier etwas genauere Spezifikationen, nebst Quellcode, geben kann.

Danke erst mal für die Antworten. :)
 
Zurück
Oben