[HTML] Zellen sollen sich über ganze Tabelle erstrecken

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [HTML] Zellen sollen sich über ganze Tabelle erstrecken

    Hallo, habe leider wieder ein Problem!

    Ich habe eine Tabelle, welche natürlich Zellen enthält.
    Allerdings nehmen die im Firefox leider nicht die gesamte Breite ein (im IE funktioniert es)

    Im Anhang befindet sich ein Screenshot zur Verdeutlichung.
    (ich habe den Raum, über welchen sich die Zellen eigentlich erstrecken sollen hellblau markiert)

    PS: in der letzten Tabellenzeile habe ich die erste Zelle auf eine Breite von 100% gesetzt, weshalb es da gut aussieht - aber ist natürlich keine saubere Lösung.

    Wieso passiert das?
    Habe schon alles Mögliche -leider erfolglos- ausprobiert und auch nichts dazu gefunden...
    Angehängte Dateien

  • #2
    Code zeigen und achte dabei bitte auf unsere Regel

    Kommentar


    • #3
      komisch

      Im Prinzip habe ich nur ein Div für den äußeren Rahmen. Dann verwende ich mehrere Tabellen, um die Inhalte dar zu stellen.

      Dabei habe ich eine Datei, in welche ich 10 weitere per php inkludiere.
      Über ein Menü stelle ich immer nur einen der 10 Inhalte dar (style="display:block/none;")

      Das Ganze sind ~2000 Zeilen Code (unter anderem auch daher, weil sich das Menü in jeder der 10 Seiten befindet)

      Ich fand es zu unverschämt, da einen Link zu geben - oder Code zu posten!


      Ich habe jetzt versucht, den Code auf das wesentlichste zusammen zu kürzen - allerdings gab es nun keine Probleme mehr...

      Ich konnte jetzt das Problem aber eingrenzen:
      - habe eine der 10 Inhalts-Seiten ausgewählt, worauf man den Fehler gut erkennen konnte.
      - habe in dieser Seite alle Tabellen -außer einer (der im Screenshot zu sehenden)- gelöscht
      - habe durch die php-Include-Schleife nur dieses Seite inkludieren lassen
      => Fehler existiert nach wie vor

      - habe nun die Tabelle aus der inkludierten Datei zusätzlich noch ins Hauptdokument kopiert.
      => hier tritt der Fehler nicht auf

      Demzufolge müsste es am Inkludieren liegen... Wäre dann ja ein Fehler im Firefox! Ich verstehe die ganze Sache nicht...

      Um es zu verdeutlichen hier noch mal ein Screenshot (aufgrund der Größenbeschränkung konnten die Bilder nicht komplett dargestellt werden - der nicht gewollte Bereich ist wieder hellblau):
      Angehängte Dateien
      Zuletzt geändert von MrBusty; 11.02.2007, 11:01.

      Kommentar


      • #4
        Müssen denn Tabelle sein? So wie dein Screenshots aussehen, sehe ich keinen Bedarf für Verwendung von Tabellen (die 2000 HTML Codezeilen kommen höchst wahrscheinlich davon) Hast du schon mal daran gedacht, Boxmodell einzusetzen? Für Menüs stehen dir ul/li zur Verfügung.

        Kommentar


        • #5
          Ich konnte den Fehler noch weiter einschränken!

          wenn ich die Datei so inkludiere funktioniert es:

          PHP-Code:
          <?php
              
          include("./letter01/page04.inc");
          ?>

          Wenn ich es so mache tritt der Fehler auf:

          PHP-Code:
          <?php
              
          for($pageNumber=4$pageNumber<=4$pageNumber++) {
                  
          $seite "page_" $pageNumber;
                  include(
          "./letter01/page0" .$pageNumber".inc");
              }
          ?>
          Ist jetzt zwar eher was fürs php-Forum - aber eigentlich ist an dem php-Code doch nichts falsch, oder?

          Es liegt an der Zeile $seite = "page_" . $pageNumber;
          Diese Variable verwende ich dann auf der inkludierten Seite, um eine Klasse zu setzen.

          Ist dies nicht regelkonform - oder ist das ein Bug?
          Sollte ich da eventuell mal an Mozilla schreiben?

          Original geschrieben von asp2php
          Müssen denn Tabelle sein? So wie dein Screenshots aussehen, sehe ich keinen Bedarf für Verwendung von Tabellen (die 2000 HTML Codezeilen kommen höchst wahrscheinlich davon) Hast du schon mal daran gedacht, Boxmodell einzusetzen?
          Meinst du mit <span> und <div> arbeiten?

          Wäre auch eine Möglichkeit, aber ich wollte mir keine Gedanken um die Abstände machen... So setzte ich die Elemente einfach zentriert in eine Zelle - und schon sind sie gut verteilt auf der Seite (zumindest im IE)

          Geht das mit dem Boxmodell auch so einfach?


          Für Menüs stehen dir ul/li zur Verfügung.
          Ja, dass verwende ich auch dafür.

          Allerdings soll ich das Menü an einer bestimmten Stelle befinden. Wenn ich dieses relativ einbaue, dann muss es in jede der 10 Seiten inkludiert werden - das braucht so viele Zeilen!

          Eleganter wäre natürlich es absolut an die Stelle zu setzten, aber dann bin ich abhängig von der Bildschirmauflösung... oder liege ich da falsch?
          Wenn es hierfür einen eleganten Lösungsweg gibt, bitte mitteilen!
          (wenn es kurz ist - ist schließlich nicht Thema dieses Threads)

          Danke für deine Antworten!
          Zuletzt geändert von MrBusty; 11.02.2007, 11:54.

          Kommentar


          • #6
            Gehe ich recht in der Annahme, das das so eine Art Galerie ist?! Wenn Du dazu Tabellen benutzen willst...bitte. Aber auf Deinen Screenshots sieht es so aus, als wäre jedes Bild in einer eigenen Tabelle, deswegen auch die unterschiedlichen Breiten.

            Mach doch eine Tabelle mit je zwei Spalten und entsprechend vielen Zeilen, dann sind auch alle gleich breit.

            Hab ich was falsch interpretiert? Gib doch mal nen Link, das man den Quelltext sieht.

            Kommentar


            • #7
              Original geschrieben von MrBusty
              Ist jetzt zwar eher was fürs php-Forum - aber eigentlich ist an dem php-Code doch nichts falsch, oder?
              Vielleicht versuchst du's mal mit Debugging?
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Original geschrieben von MrBusty

                Es liegt an der Zeile $seite = "page_" . $pageNumber;
                Diese Variable verwende ich dann auf der inkludierten Seite, um eine Klasse zu setzen.

                Ist dies nicht regelkonform - oder ist das ein Bug?
                Sollte ich da eventuell mal an Mozilla schreiben?
                das was PHP ist, läuft auf dem Server und hat wenig mit irgendeinem Browser zu tun, d.h. sollte es syntaxtische Probleme geben, wird PHP schon meckern.

                Ich gehe davon aus, dass du in diese Datei auch Ausgabe machst, also vergleiche einfach die Ausgabe zwischen den beiden include-Wege, dann müsstest du dahinterkommen, woran es lag.

                Kommentar


                • #9
                  Original geschrieben von asp2php
                  das was PHP ist, läuft auf dem Server und hat wenig mit irgendeinem Browser zu tun, d.h. sollte es syntaxtische Probleme geben, wird PHP schon meckern.
                  Habe ich mir auch gedacht - aber im IE funktioniert es ja!

                  Ich gehe davon aus, dass du in diese Datei auch Ausgabe machst, also vergleiche einfach die Ausgabe zwischen den beiden include-Wege, dann müsstest du dahinterkommen, woran es lag.
                  Die Ausgabe sieht so aus:

                  <table class="<? echo $seite; ?>">

                  und funktioniert einwandfrei - die Klasse hat also den richtigen Namen.
                  Zuletzt geändert von MrBusty; 11.02.2007, 20:50.

                  Kommentar


                  • #10
                    Original geschrieben von wahsaga
                    Vielleicht versuchst du's mal mit Debugging?
                    Wie meinst du das?
                    Welchen Debugger kannst du mir empfehlen?

                    Kommentar


                    • #11
                      Original geschrieben von gruenspan
                      Gehe ich recht in der Annahme, das das so eine Art Galerie ist?! Wenn Du dazu Tabellen benutzen willst...bitte. Aber auf Deinen Screenshots sieht es so aus, als wäre jedes Bild in einer eigenen Tabelle, deswegen auch die unterschiedlichen Breiten.
                      Nein, es ist keine Galerie.

                      Jede Tabelle hat meist nur ein oder zwei Zeilen, damit ich nicht mit 'colspan' arbeiten muss... außerdem sind die Elemente in den Zellen unterschiedlich groß - weshalb auch die Zellen von Zeile zu Zeile eine andere Größe haben können...

                      Aber ich habe ein äußeres Div und alle Tabellen haben die Breite 100% - so dass sie sich über den ganzen Bereich erstrecken. (was ich auch sehe, wenn ich den Rand auf 1 setzte).

                      Nur die Zellen erstrecken sich eben nicht über die ganze Tabelle (zumindest im Firefox), sobald ich die php Variablendefinition verwende.

                      Mach doch eine Tabelle mit je zwei Spalten und entsprechend vielen Zeilen, dann sind auch alle gleich breit.
                      Wie gesagt, die Tabellen sind alle gleich breit - nur die Zellen erstrecken sich nicht über die ganze Zeile/Tabelle.

                      Da jede Zeile unterschiedlich viele Zellen haben kann, ziehe ich mehrere Tabellen vor.

                      Hab ich was falsch interpretiert? Gib doch mal nen Link, das man den Quelltext sieht.
                      Ok, hier der Link:
                      http://www-user.tu-chemnitz.de/~sepe/test.html
                      Zuletzt geändert von MrBusty; 12.02.2007, 21:13.

                      Kommentar


                      • #12
                        Ursache


                        Habe noch etwas mehr getestet und bin auf die Ursache gestoßen!

                        Es liegt daran, dass beim Ausblenden und wieder Einblenden (style="display:...") die ursprüngliche Zellenbreite verloren geht.

                        Also nicht am inkludieren... - hat damit auch nichts mit php zu tun.

                        PS: als ich den Inhalt der inkludierten Datei raus kopiert habe, hatte ich den Klassennamen nicht angepasst - somit wurde diese Tabelle nie ausgeblendet.

                        Meines Erachtens richt das etwas nach einem Bug...
                        allerdings verhält sich auch Netscape und Opera so!

                        Hat jemand einen Rat/Hinweis für mich?
                        Zuletzt geändert von MrBusty; 12.02.2007, 11:53.

                        Kommentar


                        • #13
                          Und was macht diese Schleife deiner Meinung nach ? Bzw wie oft wird diese Schleife durchlaufen ?
                          PHP-Code:
                          for($pageNumber=4$pageNumber<=4$pageNumber++) { 

                          Gruss

                          tobi
                          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                          Kommentar


                          • #14
                            Original geschrieben von jahlives
                            Und was macht diese Schleife deiner Meinung nach ? Bzw wie oft wird diese Schleife durchlaufen ?
                            Diese Schleife wird nur einmal durchlaufen, wie man sehr einfach erkennen kann (es sollte ja äquivalent zum darüber stehenden code sein).
                            Das ganze habe ich nur zum Testen so geschrieben - eigentlich wird sie 10 Mal durchlaufen.

                            Aber daran lag es ja letztendlich gar nicht, wie ich in meinem letzten Post mitgeteilt habe.
                            Zuletzt geändert von MrBusty; 12.02.2007, 11:52.

                            Kommentar


                            • #15
                              Testseite

                              Habe jetzt mal eine Testseite eingerichtet:

                              http://www-user.tu-chemnitz.de/~sepe/test.html

                              Wenn jemand dazu genaueres weiß, bitte posten!

                              Kommentar

                              Lädt...
                              X