Probleme mit IE7 (Tabelle in Tabelle)
Sebastian
- browser
0 Felix Riesterer
0 D.R.0 Gernot Back
Hi!
Ich habe festgestellt, dass der IE7 manche Seiten total anders darstellt als der IE6 oder Firefox. Und zwar, wenn es um Tabellen in Tabellen geht. Folgende Seite verdeutlicht dies: http://sewid.de/ie7.htm
Es geht darum: IE6 und Firefox stellen die innere Tabelle mit 100% Höhe dar. Die Zellen, die eine Höhenangabe besitzen werden entsprechend hoch dargestellt, Zelle ohne Höhenangabe so gestreckt, dass die innere Tabelle 100% Höhe hat.
Im IE7 wird die Zelle ohne Höhenangabe nicht gestreckt, so dass die innere Tabelle zu klein ist. Könnt ihr mir hier weiterhelfen?
Ein "Backport" von XHTML auf HTML behebt das Problem - aber das will ich so nicht. Habt ihr eine andere Lösung für mich?
Danke und viele Grüße
Sebastian
Lieber Sebastian,
was war doch gleich Dein Thema? "Probleme mit IE7 (Tabelle in Tabelle)". Welche Inhaltliche Struktur erfordert denn eine HTML-technische Auszeichnung mit einer Tabelle innerhalb einer Tabelle???
Folgende Seite verdeutlicht dies: http://sewid.de/ie7.htm
Achso, wieder ein Tabellen-Layout. Wer's braucht... Dass es auch <http://de.selfhtml.org/css/index.htm@title=anders geht>, weißt Du?
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Weil in meinen Augen DIV-Layouts noch total unausgereift sind. Jeder Browser stellt sie total anders da, oder ich brauche eine Menge Hacks. Sofern man mit Tabellen richtig arbeiten kann, lassen sich damit auch Seiten erstellen, die sogar mit LYNX noch richtig gut aussehen.
Aber ich will hier keine Grundsatzdiskussion - ich brauche ein Tabellenlayout, darum suche ich eine Lösung...
Weil in meinen Augen
Deine Augen sind scheinbar blind. Du hast gerade den größten Blödsinn von dir gegeben, den es so gibt und bewiesen, dass du nichts von HTML und CSS verstehst.
gruß, aikidoka
Hallo,
Weil in meinen Augen DIV-Layouts noch total unausgereift sind.
Du sollst ja auch keine div-Layouts erstellen, sondern CSS-Layouts. Das sind ordentlich stukturierte Seiten, die nicht nur aus <div>s, bestehen, sondern logisch stukturiert sind (<ul>s für Aufzählungs- und Navigationsleisten, hx für Überschriften, <table> für Tabellen, <p> für Textabsätze, etc.).
Jeder Browser stellt sie total anders da, oder ich brauche eine Menge Hacks.
Kann ich nicht bestätigen. Mmh, hattest du nicht genau dieses Problem gerade mit deiner Tabelle?
Sofern man mit Tabellen richtig arbeiten kann, lassen sich damit auch Seiten erstellen, die sogar mit LYNX noch richtig gut aussehen.
Eine logisch strukturierte Seite sieht ohne CSS auf jeden Fall besser aus, als eine verkorkste Tabelle.
Aber ich will hier keine Grundsatzdiskussion - ich brauche ein Tabellenlayout, darum suche ich eine Lösung...
<!--[if IE]>
<meta http-equiv="refresh" content="0; URL=http://www.getfirefox.de/">
<![endif]-->
mfg. Daniel
Weil in meinen Augen DIV-Layouts noch total unausgereift sind.
Es ging auch nicht um eine Div-Suppe, sondern um Layout mit CSS.
Jeder Browser stellt sie total anders da, oder ich brauche eine Menge Hacks.
Dein Beitrag zeigt doch, dass man auch bei Tabellen-Layouts Browser-Unterschiede berücksichtigen muss. Im Übrigen ist das Problem nicht so groß, wie du es hier darstellst: Die meisten Macken hat ohnehin der IE, oft ist ausschließlich für diesen Extra-Arbeit notwendig.
Sofern man mit Tabellen richtig arbeiten kann, lassen sich damit auch Seiten erstellen, die sogar mit LYNX noch richtig gut aussehen.
Semantisches Markup sieht mit Lynx immer noch am besten aus.
Hallo,
aus deinem Code:
<style type="text/css">
<!--
body,html {width: 100%; height: 100%; padding: 0; margin: 0;}
-->
</style>
Der Browser soll die Tabelle 100% hoch darstellen. 100% von was? von body?
Nein, der hat ja die automatische Höhe. Dieser Style-Bereich ist jedenfalls auskommentiert und für Browser unsichtbar. Spätestens dann, wenn die Seite als application/xhtml+xml verarbeitet wird.
Vielleicht hält sich der IE ja schon ein bisschen an XHTML (obwohl er den entspr. Mime noch nicht kennt…)
mfg. Daniel
Doch, das stimmt. Das ist aus Kompatibilitätsgründen zu alten Browsern. Habe es aber gerade auch ohne die Kommentierung getestet - klappt auch nicht. Und die 100% kommen von body - das geht auch in allen anderen Browsern und im IE6 - nur eben im IE7 nicht mehr :-/
Doch, das stimmt. Das ist aus Kompatibilitätsgründen zu alten Browsern. Habe es aber gerade auch ohne die Kommentierung getestet - klappt auch nicht. Und die 100% kommen von body - das geht auch in allen anderen Browsern und im IE6 - nur eben im IE7 nicht mehr :-/
Mir ist noch was aufgefallen - die ÄUSSEREN 100% kommen vom body (wird ja auch mit 100% Höhe dargestellt), nur die inneren 100% kommen nicht von der äußeren Tabelle - hier steckt das Problem, dessen Lösung ich nicht kenne.
Hallo,
Doch, das stimmt. Das ist aus Kompatibilitätsgründen zu alten Browsern.
Bist du dir sicher, dass deine Seite noch von Netscape 3 - Usern aufgerufen wird?
Was ist dir wichtiger? Kompatiblität zu NS 3 oder <http://de.selfhtml.org/xhtml/unterschiede.htm#script_style@title=Kompatiblität zu XHTML> (und somit auch zu neuen Browsern)?
Ansonsten muss ich dir aber auch den Rat geben, auf Tabellen-Layouts zu verzichten. Das wäre IMHO die eleganteste Lösung!
mfg. Daniel
Hallo Sebastian,
Es geht darum: IE6 und Firefox stellen die innere Tabelle mit 100% Höhe dar. Die Zellen, die eine Höhenangabe besitzen werden entsprechend hoch dargestellt, Zelle ohne Höhenangabe so gestreckt, dass die innere Tabelle 100% Höhe hat.
Im IE7 wird die Zelle ohne Höhenangabe nicht gestreckt, so dass die innere Tabelle zu klein ist. Könnt ihr mir hier weiterhelfen?
Für das, was du vorhast, musst du den IE7 wahrscheinlich in den Quirksmode schicken:
http://www.sprachlernspiele.de/engel/matroschka.html
Gruß Gernot
Für das, was du vorhast, musst du den IE7 wahrscheinlich in den Quirksmode schicken:
Klappt leider auch nicht. Ein weiterer Tipp?
Hallo Sebastian,
Für das, was du vorhast, musst du den IE7 wahrscheinlich in den Quirksmode schicken:
Klappt leider auch nicht. Ein weiterer Tipp?
Ja, natürlich musst du der Tabellenzelle, die deine innere Tabelle umschließt, für den IE7 auch 100% Höhe verpassen für den IE6 vielleicht auch den Wert "inherit", entweder über den bekannten "* html"-Hack oder über Conditional-Comment. Ersteres zeigt ja mein CSS-Code:
td.inherit {
height:100%;
}
* html td.inherit {
height:inherit;
}
http://www.sprachlernspiele.de/engel/matroschka.css
Gruß Gernot
Hat leider auch nicht geklappt. Der IE7 ist echt ganz schön störrisch.
Trotzdem danke für den Tipp. Vielleicht noch einen anderen Vorschlag?
Hallo Sebastian,
Für das, was du vorhast, musst du den IE7 wahrscheinlich in den Quirksmode schicken:
Klappt leider auch nicht. Ein weiterer Tipp?
Doch das klappt, auch ohne weitere Prozentangaben in den Tabellen, wenn du vor der DOCTYPE-Deklaration noch folgende erste Zeile einfügst:
<?xml version="1.0" encoding="ISO-8859-1" ?><!-- IE 7 quirks mode please -->
Ich habe es ausprobiert; sieht dann im IE genauso aus wie in Opera und Firefox.
http://forum.de.selfhtml.org/archiv/2006/11/t140239/#m911325
Wenn auch jetzt die Layouttabelle gleich aussieht, so wird doch beim IE im Quirksmode und den vernünftigen Browsern im standardkompatiblen Modus das Aussehen dessen, was du in die Layouttabelle einfügst dann bei den unterschiedlichen Browsern umso mehr voneinander abweichen. Also lass es lieber und versuche es ohne Tabellen.
Gruß Gernot