Supportnet / Forum / Webseiten/HTML
Rowspan Problem mit Opera
Frage
Hi,
ich habe das folgende Problem beim anzeigen einer Tabelle unter Opera 8.51:
Ich versuche die Spalten einer Tabelle zeilenweise zu verbinden. Dabei ist es absolut nötig, dass die Zeilenabstände der [b]nicht verbundenen[/b] Spalten gleich groß bleiben, auch wenn der Inhalt der [b]verbundenen[/b] Spalte sehr groß ist. Das funktioniert auch in fast allen Browsern außer Opera 8.51.
Hier mal ein Link, der das Problem verdeutlicht: [url]http://thievingmagpie.org/rowspan/rowspan.html[/url]
Hier der code der Tabelle:
[code]
<table border="1">
<tr>
<td>1</td>
<td rowspan="4">
largetext<br>
largetext<br>
largetext<br>
largetext<br>
largetext<br>
largetext<br>
largetext<br>
</td>
</tr>
<tr><td>2</td></tr>
<tr><td>3</td></tr>
<tr><td>4</td></tr>
</table>
[/code]
Wie muß ich den Code verändern damit er auch in Opera so dargestellt wird wie in Firefox oder IE?
Antwort 1 von Flupo
Meine erste Idee (height="25%" in den Zeilen) hat leider nicht funktioniert. Auch die entsprechende Formatierung per CSS wird vom Opera ignoriert. :-(
Man kann das Problem aber dadurch lösen, dass man die erste Spalte als eingelagerte Tabelle gestaltet.
Es fehlen hier noch die Einstellungen für Innenrand und Zellenabstand damit es genau passt.
Problem ist hierbei allerdings die Ermittlung der richtigen Höhe für die Tabelle in der ersten Spalte. Mit einem "Height"-Attribut kann man die Zeilen sehr schön über die Höhe der Tabelle verteilen. Aber da die Darstellung auch vom Schriftgrad, der im Browser eingestellt ist, abhängt, kann man nicht davon ausgehen, dass die Darstellung überall gleich ist.
Gruss Flupo
Man kann das Problem aber dadurch lösen, dass man die erste Spalte als eingelagerte Tabelle gestaltet.
<table border="1">
<tr>
<td>
<table>
<tr><td>1</td></tr>
<tr><td>2</td></tr>
<tr><td>3</td></tr>
<tr><td>4</td></tr>
</table>
</td>
<td>
largetext<br>
largetext<br>
largetext<br>
largetext<br>
largetext<br>
largetext<br>
largetext<br>
</td>
</tr>
</table> Es fehlen hier noch die Einstellungen für Innenrand und Zellenabstand damit es genau passt.
Problem ist hierbei allerdings die Ermittlung der richtigen Höhe für die Tabelle in der ersten Spalte. Mit einem "Height"-Attribut kann man die Zeilen sehr schön über die Höhe der Tabelle verteilen. Aber da die Darstellung auch vom Schriftgrad, der im Browser eingestellt ist, abhängt, kann man nicht davon ausgehen, dass die Darstellung überall gleich ist.
Gruss Flupo
Antwort 2 von Flupo
Ein ähnlicher Lösungsansatz um das "rowspan"-Attribut zu vermeiden wäre den Text in der ersten Spalte per CSS (line-height) zu formatieren.
Aber auch hier besteht das Problem der variablen Höhe von Spalte 2.
Gruss Flupo
Aber auch hier besteht das Problem der variablen Höhe von Spalte 2.
Gruss Flupo
Antwort 3 von rfb
nun zumindest das Schriftgradproblem kannst du durch eine relative Größe (em oder ex) lösen, andere Varianten als die von dir selbst gefundenen habe ich allerdings auch nicht entdeckt.
PS: ich würde eine "schiefe" Darstellung allemal verschachtelten Tabellen vorziehen.
PS: ich würde eine "schiefe" Darstellung allemal verschachtelten Tabellen vorziehen.
Antwort 4 von TAK2
Vielen Dank für die Antworten.
Ich habe es jetzt mal mit verschachtelten Tabellen versucht und folgendes Resultat erzielt:
http://thievingmagpie.org/rowspan/rowspan.html
Man kann tricksen wie man will, aber Opera läßt sich nicht dazu überreden die innere Tabelle auf die gesammte Höhe der Zelle auszudehnen.
Wie ich festellen mußte, wird height="100%" oder height:100% von Opera leider ignoriert. Opera scheint hier ein ernstes Problem mit relativen Höhenangaben zu haben und das ist nicht nur mir aufgefallen:
http://techpatterns.com/forums/about537.html
Somit, bleibt mir wahrscheinlich keine andere Möglichkeit als meine Besucher daraufhinzuweisen, dass es mit Opera einfach nicht funtioniert.
Ich habe es jetzt mal mit verschachtelten Tabellen versucht und folgendes Resultat erzielt:
http://thievingmagpie.org/rowspan/rowspan.html
Man kann tricksen wie man will, aber Opera läßt sich nicht dazu überreden die innere Tabelle auf die gesammte Höhe der Zelle auszudehnen.
Wie ich festellen mußte, wird height="100%" oder height:100% von Opera leider ignoriert. Opera scheint hier ein ernstes Problem mit relativen Höhenangaben zu haben und das ist nicht nur mir aufgefallen:
http://techpatterns.com/forums/about537.html
Somit, bleibt mir wahrscheinlich keine andere Möglichkeit als meine Besucher daraufhinzuweisen, dass es mit Opera einfach nicht funtioniert.
Antwort 5 von DerWahreDenny
Opera hatte vor einem halben Jahr einen Marktanteil von 0,6 Prozent.
Den kann man also getrost vernachlässigen.
Den kann man also getrost vernachlässigen.
Antwort 6 von TAK2
Zitat:
Opera hatte vor einem halben Jahr einen Marktanteil von 0,6 Prozent.
Den kann man also getrost vernachlässigen.
Opera hatte vor einem halben Jahr einen Marktanteil von 0,6 Prozent.
Den kann man also getrost vernachlässigen.
Das mag wohl sein, dennoch empfinde ich es als äußerst unbefriedigend wenn meine Seite nicht richtig unter Opera funktioniert. Außerdem werden sochle Dinge meistens auf das Unvermögen des Webseitenerstellers zurückgeführt.
Antwort 7 von DerWahreDenny
Antwort 8 von TAK2
Zitat:
Und was ist mit den anderen Browsern?
Und was ist mit den anderen Browsern?
Ok, du hast recht, man kann´s wohl nicht jedem recht machen.
Das ist übrigens ein klasse Link den du da gepostet hast.

