Zeilenbreite innerhalb einer Tabelle unterschiedlich

  • Hallo zusammen,

    ich verzweifel gerade, denn bei meinem vorliegenden Problem arbeitet IE so, wie ich es will, und Firefox NICHT :(

    Folgendes Problem:
    Ich habe eine Tabelle über die Bildschirmbreite. Diese ist ganz einfach aufgebaut:
    table
    tr
    td width 100%
    /td
    /tr
    tr
    td width 100%
    /td
    /tr
    tr
    td width 100%
    /td
    /tr
    /table

    Also je Zeile eine Zelle über die volle Breite

    Die einzelnen Zellen werden dann mit weiteren tabellen gefüllt, die teilweise mehrere Spalten oder Zeilen haben. Es kommen Grafiken im Vordergrund und auch welche via css im Hintergrund zum Einsatz

    Ich hätte jetzt angenommen, daß beim Zusammenschieben der Tabelle alle Zeilen genau die gleiche Breite haben. Also wenn oben nix mehr geht, weil die Grafiken nicht weiter zusammen gehen, dann sollten auch die unteren Zeilen stehen bleiben.

    IE macht das so.

    Firefox auch, WENN er beim ersten Aufrufen der Seite schmaler als die durch die Grafiken vorgegebene Mindestbreite war - also scrollbalken anzeigen musste.

    Wenn er breiter als die Mindestbreite war, also keine Scrollbalken anzeigen musste, dann bleibt beim zusammenschieben die erste Reihe stehen (die Bilder stoßen aneineander und es geht nicht kleiner), Reihe 2 und drei werden aber weiterhin kleiner und sind voll zusehen.

    Ist etwas schwierig vorzustellen.. Ich bin neu hier und muß gucken, wie ich hier ein Screenshot rein bekomme.

    Würde euch der HTML-Code und das css-File helfen?

    Danke für Unterstützung und Gruß,
    Martin

  • Hallo zusammen,

    also ich habe jetzt mal drei Bilder geschossen:
    Die gesamte Site sieht so aus:
    http://img404.imageshack.us/my.php?image=vvppage70kl.jpg

    Wenn der Browser korrekt arbeitet (wenn er also beim ersten Aufrufen der Seite kleiner war als deren Mindestbreite, dann sieht das so aus:
    http://img342.imageshack.us/my.php?image=vvppage82sp.jpg

    Wenn der Browser nicht korrekt arbeitet, dann passiert das:
    http://img342.imageshack.us/my.php?image=vvppage99dm.jpg

    Hat jemand ne Idee???

    Danke und Gruß,
    Martin

    Edit: Ich habe mich heute nochmal hingesetzt und alle Tags durchgeguckt. Dabei habe ich in einer der verschachtelten Tabellen (im unteren Bereich) tatsächlich ein fehlendes </td> entdeckt. Doch auch nachdem ich das eingefügt habe: Nix neues - gleicher Fehler...)

  • Hallo zusammen,

    ich bin reichlich ratlos...
    das INteressante ist: Der Fehler tritt wie oben beschrieben beim ersten Öffnen der Seite bei zu breitem Browserfenster auf.
    ABER:
    - wenn ich dann irgendeinen Menüpunkt auswähle
    - oder sogar einfach nur auf "reload" klicke, dann ist der Fehler behoben.

    Ich glaube, das ist was ganz hässliches und wahrscheinlich so simpel, daß ich's vor lauter Tags nicht finde. Kann mir wer helfen?

    Danke und Gruß,
    Martin

  • Hallo zusammen,

    falls es Euch hilft anbei noch der Quelltext (bei Anzeige der Seite auf "Ansicht -> Seitenquelltext"). Ich gebe zu, der ist etwas unübersichtlich. Das liegt aber hauptsächlich daran, das ein cms verwendet wird (Mambo). Dessen PHP-Skript-generierte Ausgabe kann man einfach nicht sinnvoll formatieren :(

    Danke und Gruß,
    Martin

    EDIT:
    Ich habe den Quelltext so mal durch den Validator laufen lassen. Entweder ich habe da was grundlegendes nicht verstanden, oder... Der bringt eine Menge Fehler, weil er angeblich bestimmte Definitionen nicht kennt. Liegt das an JavaScript?
    Es kommen auch einige komische Meldungen wie z.B. daß für <br> das closing tag weggelassen wurde. Ich wusste garnicht, daß es dafür eins gibt?


    Code:

  • Ich kann dir nur bei deinen Validator-Problemen helfen:

    1) Es kommen im Quelltext URI's mit einem "&" vor. Das musst du als & maskieren, weil es ein HTML-eigenes Sonderzeichen ist.

    2) Da du XHTML verwendest, MUSST du alle Tags schließen, Bsp. br und img: <br /> <img alt="..." /> - damit öffnest und schließt du den Tag quasi gleichzeitig

    3) Für <img> musst du nach Standard zwingen ein alt-Attribut festlegen, dieses kann aber auch leer sein...

    Ich würde dir empfehlen erst einmal das zu fixen (dürfte mit suchen & ersetzen nicht das Problem sein) und dann nochmal zu schauen was noch übrig ist ;)

    Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1

    Eine Theorie sollte so einfach wie möglich sein, aber nicht einfacher. (A. Einstein)

  • Hallo brain!

    Vielen Dank schonmal für die Hinweise. Wie Du vielleicht siehst, mache ich das nicht professionell. Eigentlich wollte ich dem Verband nur ein Design verpassen, daß nach Volleyball aussieht ;)

    Die Tags kann ich schließen, kein Problem. Auf die Schnelle würde ich vermuten, daß es tatsächlich im Wesentlichen die img und br Tags sind. Die meisten anderen haben ja ein separates Close-Tag.

    Sehe ich das richtig, daß ich einfach überall (!) wo im Quelltext ein "&" vorkommt ein "&amp" ersetzen muß? Oder muß ich da was besonderes beachten? Ich habe noch nicht gesucht (mein lokaler Server ist gerade down.. aber ich schau mir gleich den oben geposteten Text an) aber ich hoffe, daß das nur im Header vor kommt. Andernfalls habe ich ein Problem, weil ich im body-Bereich das "&" nicht selbst verwende, sondern - falls es da drin ist - durch mambo generiert wurde... :(

    Jedenfalls danke, Gruß und gute Nacht,
    Martin

  • Eigentlich müsstest du das so machen, und wenn Mambo zu blöd dafür ist... weiß nicht ob man da was machen kann. Aber vergiss das Semikolon nach dem &amp nicht! ;)

    Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1

    Eine Theorie sollte so einfach wie möglich sein, aber nicht einfacher. (A. Einstein)

  • Hallo brain,

    ich hab's einfach ersetzt. Nachdem ich testweise auch die PHP-Aufrufe ausgebaut hatte, hat die Seite den Validator bestanden.
    Incl. php-code gab es ein paar warnings, aber im Grunde OK.

    Was mich fertig macht... Die Tabelle ist immernoch so, wie oben beschrieben:
    Wenn der Browser beim ersten Öffnen der Seite breiter war als die Tabelle, dann schiebt sie sich mit dem Browserfenster zusammen, und macht dann, wenn die Grafik oben anstößt (und daher nicht mehr schmaler werden kann) die unteren Zeilen weiter schmal.
    Ich brauche nur einmal auf "refresh" zu drücken und alles ist gut. Es kann also kein grundsätzliches Syntaxproblem sein, sonst würde das ja auch nach einem refresh immernoch nicht stimmen....

    Sonst wer ne Idee?

    Danke und Gruß,
    Martin

    EDIT:
    Nur mal so am Rande: Mir war klar, daß die Aussage "im IE geht's" nicht wirklich ein Qualitätsmerkmal für den Code ist. Aber der Konqueror zeigt die Tabelle auch korrekt und mit einheitlicher Breite an. Jetzt werde ich langsam stutzig ???
    Abgesehen davon ist bei Konqueror:
    - Das horizontale Menü in der Grafik nicht rechtsbündig (sondern linksbündig)
    - Der blaue Hintergrund der Hauptspalten links, mitte und rechts geht nicht bis unten (height="100%"), sondern nur bis zum Ende des generierten Inhalts... IE und FF sind sich da einig -> geht

  • Hallo zusammen,

    ich habe das Problem der variablen Breite dadurch gelöst, daß ich das KOMPLETTE Layout der Seite in eine große Zelle gekapselt habe.
    Seitdem haben alle Browser das gleiche Verhalten.

    Eins bleibt noch.

    Ich habe im Mittelbereich einen Abschnitt mit fünf Spalten:
    - Rand links
    - Navigation links
    - Hauptbereich
    - Navigation rechts
    - Rand rechts

    Das ist eine Tabellenzeile (<tr>) mit eben 5 <td>s.
    Darunter kommt eine weitere Zeile (<tr>) mit 3 TDs
    - Rand links
    - footer (colspan = 3)
    - Rand rechts.

    Die einzelnen Tabellen-Zellen haben als Hintergrund ein Hellgelb, innerhalb der <td>s habe ich dann nochmal geschachtelte Tabellen mit Hintergrund hellblau.

    IE und FF füllen die Zellen (Spalten) der ersten Reihe bsi unten mit Hellblau, selbst wenn der Inhalt nicht bis ganz unten reicht. (tds haben height = 100%)

    Bei Konqueror sieht es so aus:
    http://img163.imageshack.us/my.php?image=vvppage102cd.jpg

    Hat wer ne Idee?

    Danke und Gruß,
    Martin

  • Hallo zusammen,

    jetzt habe ich tatsächlich nur noch EIN Problem und das gute ist:
    IE, FF und Konqueror sind sich einig. Es muß also irgendwo an meinem Code liegen... Ich find's nur nicht.

    Die Tabele ist korrekt breit und alle Zeilen des Layouts schieben sich gleich weit zusammen. Soweit so gut. Wenn ich jetzt auf einen speziellen Punkt im Menü gehe, dann erscheint Inhalt in der Mitte, der ewtas breiter ist. Anstatt die gesamte Tabelle entsprechend breit zu machen, verbreitern die Browser nur den Mittelbereich. Aber nicht den Header / Footer. Außerdem verdeckt die überbreite Zelle dann die Schattengrafik am Rand.

    So sieht das aus:
    Noch alles OK: <a href="http://img70.imageshack.us/my.php?image=vvppage77lu.jpg" target="_blank"><img src="http://img70.imageshack.us/img70/8350/vvppage77lu.th.jpg" border="0" alt="Free Image Hosting at http://www.ImageShack.us" /></a>
    Jetzt fängt's an: <a href="http://img70.imageshack.us/my.php?image=vvppage84nc.jpg" target="_blank"><img src="http://img70.imageshack.us/img70/6775/vvppage84nc.th.jpg" border="0" alt="Free Image Hosting at http://www.ImageShack.us" /></a>
    und jetzt isses ganz kaputt:<a href="http://img67.imageshack.us/my.php?image=vvppage90qy.jpg" target="_blank"><img src="http://img67.imageshack.us/img67/1508/vvppage90qy.th.jpg" border="0" alt="Free Image Hosting at http://www.ImageShack.us" /></a>

    Kann mir jemand mit dem Code helfen? Das muß eigentlich ne Kleinigkeit sein, aber ich als Unerfahrener find' sie nicht...

    Das Template sieht wie folgt aus:
    HTML:

    Bei Bedarf reiche ich auch gerne das Stylesheet nach...

    Danke und Gruß,
    Martin