"We are back" « oc.at

Frage zu CSS @ IE

DJ_Cyberdance 12.10.2005 - 14:23 1641 28
Posts

gue

Addicted
Avatar
Registered: Feb 2003
Location: Linz
Posts: 400
Welcome to the IE Box Model Bug ;)

Also eine kurze Geschichte zu dem Bug:
Der IE in Version 5.x hatte diesen Bug, dass er die Breite falsch berechnet. In den IE 6.x wurde dieser Bug absichtlich übernommen, damit nicht so viele Leute ihre Webseiten umstellen müssen (wie dumm...). Wie auch immer tritt im IE ab Version 6.0 der Bug nicht mehr auf, wenn du eine korrekte Doctype-Deklaration angibst aber nur dann, wenn diese in der ersten Zeile steht :bash: es darf also nichts davor stehen. Wie das bei XHTML aber nun mal so ist, stellt man davor normalerweise noch ein <?xml version="1.0" ... ?>, was den IE dazu veranlässt, in den Quirks-Mode zu schalten und die Dimensionen werden wieder falsch berechnet.

Ich habe bei einem größeren Projekt das Problem unter folgenden Annahmen gelöst:
Die Dokumente sind XHTML und starten mit der <?xml ... ?> Deklaration -> IE6.0 im Quirks Mode, IE 5.0 zeigts sowieso falsch an.
IE hat eingeschränkten CSS Support, d.h. man kann "Overrides" verwenden um die Darstellung im IE und FF gleich zu machen. Das geht so:
Im CSS-Teil:
Code:
.d { width: 195px; border: 5px; } /* Für IE */
html>body .d { width: 200px; } /* Für FF, wird von IE ignoriert */
Meine Annahme/Hoffnung war dabei, dass im IE7 Support für solche CSS Selektoren besteht, der Quirks-Mode aber endlich abgeschafft wird. Ich hoffe, das wird sich als wahr herausstellen (kA wie es zZ in der IE7 Beta ist), ansonsten hab ich spätestens wenn Vista rauskommt wieder viel Arbeit :)

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4493
Nie auf irgendwelche CSS Hacks verlassen. Keine Garantie von IE version zu IE version, ausserdem unschoen.

Richtig sind Conditional comments wie watchout sage. Damit kannst du explizit bestimmte IE versionen targeten und zukuenftige koennen dir nicht dazwischen schiessen.

DJ_Cyberdance

Here to stay
Avatar
Registered: Jun 2002
Location: Vesterålen
Posts: 1838
Zitat von gue
Welcome to the IE Box Model Bug ;)

Wow... Toll... endlich mal eine gute Erklärung, Thx a lot :-)

Aber ich hab noch nie davon gehört, daß man in XHTML irgendwo <?xml... verwenden muß - ich hab immer schon meine Seiten xhtml-konform gebastelt und in der Regel auch beim w3c validiert...

gue

Addicted
Avatar
Registered: Feb 2003
Location: Linz
Posts: 400
Ich muss meinen Vorpostern zustimmen: Conditional Comments sind die sauberere und bessere Lösung.
@DJ_Cyberdance: Wegen der XML-Deklaration (<?xml ...?>;) in XHTML Dokumenten:
Zitat
An XML declaration is not required in all XML documents; however XHTML document authors are strongly encouraged to use XML declarations in all their documents. Such a declaration is required when the character encoding of the document is other than the default UTF-8 or UTF-16 and no encoding was determined by a higher-level protocol.
Quelle: http://www.w3.org/TR/xhtml1/#strict

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4493
Wenn du IE6 im Standards-Mode brauchst kannst du das aber vergessen. Sollte meistens ohne Probleme sein, im HTTP Header das richtige Charset anzugeben, somit ...

Die IE-Entwickler haben sich zumindest derzeit noch dagegenen ausgesprochen dass verhalten im IE7 zu aendern ...

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4493
Oh wie das paszt: http://blogs.msdn.com/ie/archive/2005/10/12/480242.aspx

Zitat
We’re starting to see the first round of sites and pages breaking due to the CSS fixes we have made [...] It is has been our policy since IE6 that under quirks doctype we will not make any behavioral changes so that existing pages will continue to render unmodified, but under the strict doctype we want to change behavior to be as compliant as possible with the web standards. [...] This leads now to several CSS hacks failing.

Bin nur froh dass ich nie auf den CSS Hacks-Hype, zumindest fuern IE, so richtig aufgesprungen bin. Ein Grund mehr fuer Conditional Comments.

Spikx

My Little Pwny
Avatar
Registered: Jan 2002
Location: Scotland
Posts: 13496
Was genau sind conditional comments? JavaScript?

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Schon mal im Google eingegeben? :rolleyes:
http://www.google.at/search?q=conditional+comments

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4493
lol ...

Spikx

My Little Pwny
Avatar
Registered: Jan 2002
Location: Scotland
Posts: 13496
hm.. war wiedermal zu einfach :D

DJ_Cyberdance

Here to stay
Avatar
Registered: Jun 2002
Location: Vesterålen
Posts: 1838
<traummodus>
Ein Firefox-Plugin für den IE wär echt ein Hammer... das wär einfach nur genial, dann wären wirklich alle Probleme weg... *seufz*
</traummodus>

Spikx

My Little Pwny
Avatar
Registered: Jan 2002
Location: Scotland
Posts: 13496

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von DJ_Cyberdance
<traummodus>
Ein Firefox-Plugin für den IE wär echt ein Hammer... das wär einfach nur genial, dann wären wirklich alle Probleme weg... *seufz*
</traummodus>
und welche Probleme wären damit weg?

Es gibt nur eine Lösung für das IE-Problem, und die geht seit Ewigkeiten *nicht* gerichtlich durch... :rolleyes:

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4493
Meinst das Eolas? Falls, ich weiss net ob das so eine gute Idee waere wenn das durchgehen wuerde. Betrifft alle Browser.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz