Darstellung Tabellen IE7 versus IE6 und FireFox
Torsten
- browser
0 Cyx230 Benjamin Buxbaum0 Torsten
Guten Tag,
ich habe derzeit mit einem Problem bezüglich der Darstellung von IE7
und IE6 bzw. Firefox zu kämpfen.
Nimmt man beispielsweise folgendes Code Fragment
<table style="width:100%;">
<tr>
<td align="right">
<table>
<tr><td>Spalte 1</td><td>Spalte 2</td><td>Spalte 3</td></tr>
<tr><td>A</td><td>B</td><td>C</td></tr>
<tr><td>D</td><td>E</td><td>F</td></tr>
</table>
</td>
</tr>
</table>
Natürlich ist dies nur ein Beispiel. Ziel ist es eine Tabelle in
einer anderen zu verschachteln, so dass diese innere Tabelle
am rechten Rand der äußeren Tabelle erscheint.
Der Internet Explorer 6 und der Firefox reagieren darauf
entsprechend, sowohl im Quirks Mode als auch im Standards
Compliance Mode und zeigen das gewünschte Ergebnis.
Der IE7 hingegen zeigt dieses Ergebnis nur im Quirks Mode. Im
Standard Compliance Mode richtet er auch die Inhalte der inneren
Tabelle rechtsbündig aus.
Hier sind 2 Beispiele, die dies verdeutlichen:
Quirks Mode:
<html>
<head>
<title>Darstellung im Quirksmode</title>
</head>
<body>
<table style="width:100%;">
<tr>
<td align="right">
<table>
<tr><td>Spalte 1</td><td>Spalte 2</td><td>Spalte 3</td></tr>
<tr><td>A</td><td>B</td><td>C</td></tr>
<tr><td>D</td><td>E</td><td>F</td></tr>
</table>
</td>
</tr>
</table>
</body>
</html>
Standards Compliance Mode:
<?xml version="1.0" encoding="windows-1252"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Darstellung im Standards Compliance Mode</title>
</head>
<body>
<table style="width:100%;">
<tr>
<td align="right">
<table>
<tr><td>Spalte 1</td><td>Spalte 2</td><td>Spalte 3</td></tr>
<tr><td>A</td><td>B</td><td>C</td></tr>
<tr><td>D</td><td>E</td><td>F</td></tr>
</table>
</td>
</tr>
</table>
</body>
</html>
Nun zur Frage. Welcher Browser stellt das HTML-Konstrukt korrekt dar?
Ich habe bei den Empfehlungen von W3O schnell die Übersicht verloren.
Könnte mir jemand einen Link geben oder es erklären?
Ein Work Around wäre auch nicht schlecht :)
Vielen Dank im Vorraus!
Hallo,
Ein Work Around wäre auch nicht schlecht
du hast doch per Wahl eines geeigneten doctype bereits das gewüschte
Ergebnis? Ansonsten kannst du es ja noch mit Styleangaben versuchen.
Grüsse
Cyx23
Vielen Dank erstmal,
aber erst durch die Auswahl des doctypes und dem damit verbundenen
"Standards Compliance Mode" stellt der IE7 alle Spalten der inneren
Tabelle rechtsbündig dar. Das macht der Firefox und der IE6 nicht
an dieser Stelle nicht.
Nun interessiert mich einfach, ob das ein BUG vom IE7 ist
oder ob der Firefox gegen die Empfehlungen vom W3O arbeitet!
Damit ich weiß, welches Verhalten ich umgehen muss...
Hallo,
aber erst durch die Auswahl des doctypes und dem damit verbundenen
"Standards Compliance Mode" stellt der IE7 alle Spalten der inneren
Tabelle rechtsbündig dar.
Mit "Quirks" stellt der IE 7 die Tabelle so dar wie es auch Firefox
macht.
Damit ich weiß, welches Verhalten ich umgehen muss...
Erstmal muß nicht unbedingt etwas umgangen werden, sondern wie ich
schon schrieb, "mit Styleangaben versuchen".
Dabei muß es nicht automatisch auf CSS-Weichen hinauslaufen.
Nun interessiert mich einfach, ob das ein BUG vom IE7 ist
Bei entspr. "strengem" Doctype dürfte es richtiger sein, die
vmtl. sowieso nicht zu verwendenen Attribute nicht zu befolgen.
Bei transitional, td und align bin ich mir im Moment nicht sicher,
vielleicht ist es für den IE lobenswert, dass er hier Eigenchaften
vererbt.
Da es sowieso verschiedene Unterschiede in der Darstellung der
Browser gibt, die vmtl. nicht eindeutig als falsch oder richtig
bezeichnet werden können, bedarf es der Festlegung per Styleangaben,
die dann auch oft von den neueren Browsern gleich interpretiert
werden.
Grüsse
Cyx23
Hi Torsten!
Standards Compliance Mode:
<?xml version="1.0" encoding="windows-1252"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Der IE6 schaltet in den Quirksmodus, wenn irgendetwas vor dem Doctype steht. Der IE7 hingegen akzeptiert immerhin die xml-Deklaration, ist also im standardkonformen Modus.
mfG
Benjamin
Hups... Das habe ich übersehen!
Danke, aber dann bleibt die Frage, welcher Hersteller den Standards
Compliance Mode in diesem Beispiel besser umsetzt :)
Zur Erklärung für mein Problem. Ich möchte den Empfehlungen so nahe wie
Möglich kommen, um für zukünftige Browser Entwicklungen einen gangbaren
Weg einschlagen zu können. Deshalb möchte ich einen zukunftsicheren
Workaround verwenden.
Leider konnte ich bei den Empfehlungen des W3O nichts finden, was diese
Situation klärt!
Zusammenfassend sei gesagt:
-Firefox stellt nur die Tabelle an sich rechtsbündig dar
-Microsoft stellt auch die Tabelleninhalte rechtsbündig dar
Hi Torsten!
Danke, aber dann bleibt die Frage, welcher Hersteller den Standards
Compliance Mode in diesem Beispiel besser umsetzt :)
Die Erfahrung zeigt eindeutig: "Microsoft nicht!"
Zur Erklärung für mein Problem. Ich möchte den Empfehlungen so nahe wie
Möglich kommen, um für zukünftige Browser Entwicklungen einen gangbaren
Weg einschlagen zu können. Deshalb möchte ich einen zukunftsicheren
Workaround verwenden.
Als veraltet eingestufte Attribute wie "align" zur Formatierung zu verwenden hat nicht viel Zukunft. Willst du einen wirklich "zukunftssicheren" Weg einschlagen, dann verwende ausschließlich CSS zur Formatierung.
mfG
Benjamin
verwende ausschließlich CSS zur Formatierung.
mfG
Benjamin
Danke, das werde ich auch tun, wobei die Darstellung sich in den MS
Browsern wieder vom Rest der Welt unterscheidet. Ich komm wohl nicht um
einen CSS Hack herum!
Vielen Dank,
die Frage ist beantwortet :)