Probleme mit Tabelle im Opera
H2O
- javascript
0 werbeklaus0 H2O0 werbeklaus0 H2O
0 Hopsel
Hallo.
Erst mal die Beispiel-Seite:
http://code.dodwin.de/operatabellen.htm
Auszug aus dem Quelltext:
<tr>
<td>Groooooße Zelle.... mit viel Inhalt...</td>
<td width="80">width: 80</td>
<td width="150">width: 20</td>
<td width="100">width: 100</td>
</tr>
Alle Browser zeigen nun also die entsprechende Breite an. 80, 150 und 100. Und der Rest wird der ersten Zelle zugesprochen.
Das Problem:
Wenn man nun auf den Button auf der Seite klickt, wird die 2. (fette) Spalte per style.display = "none" entfernt und dabei vergisst Opera die gegebenen Breiten-Angaben der ganzen Tabelle. Die Zellen-Breiten verändern sich also alle, als ob keine Breiten angegeben wären.
Warum passiert das und was kann ich dagegen machen?
FF und IE zeigen es schließlich richtig an.
Vielen Dank,
H2O
Hallo,
Warum passiert das und was kann ich dagegen machen?
FF und IE zeigen es schließlich richtig an.
Vielleicht hat die Tabelle eine fixe Breite, und Opera liegt richtig?
werbeklaus
Hallo werbeklaus.
Warum passiert das und was kann ich dagegen machen?
FF und IE zeigen es schließlich richtig an.Vielleicht hat die Tabelle eine fixe Breite, und Opera liegt richtig?
Hast du dir die Beispiel-Seite mal angesehen?
Der Tabelle habe ich eine Breite von 99% gegeben. Allerdings haben die td's festgelegte Breiten. Und diese ändern sich, wenn eine Zeile gelöscht wird. Was ja eigentlich falsch ist.
btw: Ich habe geschrieben "2. (fette) Spalte" ich meinte 2. (fette) Zeile...
Man liest sich, H2O
Hallo Wasser,
Hast du dir die Beispiel-Seite mal angesehen?
Der Tabelle habe ich eine Breite von 99% gegeben.
Ja, aber nur den Quellcode betrachtet und die 99% gesehen.
Allerdings haben die td's festgelegte Breiten. Und diese ändern sich, wenn eine Zeile gelöscht wird. Was ja eigentlich falsch ist.
Ja, dann ist es falsch, stimmt.
btw: Ich habe geschrieben "2. (fette) Spalte" ich meinte 2. (fette) Zeile...
Das war das Problem :-) Hätte den Knopf wohl doch verwenden sollen ....
Eine (bestimmt nicht die feinste) Lösung wäre, in dem Javascript einfach die Breiten neu festzulegen.
Außerdem halt ich es für unnötig, die Breite in jeder Zeile zu definieren, sicherlich aber nicht falsch.
werbeklaus
Hallo werbeklaus.
Eine (bestimmt nicht die feinste) Lösung wäre, in dem Javascript einfach die Breiten neu festzulegen.
Ja, so mache ich es jetzt auch. Ich durchlaufe die tr's und setzte dann die Breite entsprechend um.
Lösung: http://code.dodwin.de/operatabellen_geloest.htm
Außerdem halt ich es für unnötig, die Breite in jeder Zeile zu definieren, sicherlich aber nicht falsch.
Normalerweise wird das mit PHP ausgegeben und dann per Schleife generiert...
Danke für die Hilfe, H2O
Hi H2O!
Ich glaube im Archiv gibt es dazu schon gute Hilfe.
MfG H☼psel