Jens24: Tabellen breiter als Bildschirm

Hallo zusammen,

möchte eine Tabelle einbinden:

<table border="1" cellpadding="0" cellspacing="0">
     <tr>
      <td width="500"><b>titel</b></td>
      <td width="500"><b>nummer</b></td>
      <td width="500"><b>discs</b></td>
      <td width="500"><b>dlt</b></td>
      <td width="500"><b>art</b></td>
      <td width="500"><b>komp</b></td>
      <td width="500"><b>date</b></td>
     </tr>
    </table>

Aber die Zellen werden nicht 500 breit, sondern eben nur so breit, wie es der Bildschirm zulässt, also so, dass man nicht scollen muss/kann.
Wenn ich allerdings bei <table> die Breite width="3500" einfüge, dann wird die Tabelle breiter.

Da ich aber die Tabelle per PHP generiere weiß ich vorher die Gesamtbreite nicht, nur die SPaltenbreiten. Muss man da nur irgendnen Code einfügen, dass der nicht automatisch die Breite ans Fenster anpasst?

Danke Jens

  1. Hallo,

    versuchs mal mit einheiten :)

    <td width="500px"><b>date</b></td>

    außerdem kannst du doch im php-skript einen zähler einbauen und so sie anzahl herausfinden. danach entsprechend die tabelle anpassen.

    MfG. Christoph Ludwig

    --
    Wo die Sprache aufhört, fängt die Musik an...
    Selfcode:  ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
    Go to this
    1. versuchs mal mit einheiten :)

      Bringt nichts. Keine Änderung mit px...

      1. Hallo,

        Bringt nichts. Keine Änderung mit px...

        na dann die Methode mit dem zähler ...
        nur die einheiten musst du trotzdem lassen ;)

        falls du das in ner Schleife machst:

        $zähler = 0;  
        $tabelle = ""  
        SCHLEIFE(xMal ausführen)  
        {  
          &tabelle += "<td ...> ... </td>\n";  
          $zähler++  
        }  
          
        echo "<table width=\"" . ($zähler * 500) . "px\">";  
        echo $tabelle;  
        echo "</table>";
        

        so würde ichs machen ^^

        MfG. Christoph Ludwig

        --
        Wo die Sprache aufhört, fängt die Musik an...
        Selfcode:  ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
        Go to this
        1. Vielen Dank!

          Ich hab mal Frontpage installiert und da ein paar Einstellungen ausprobiert und mir danach den Code angeschaut. Es klappt, wenn man den <td> TAG zu <td nowrap> erweitert.

          Klappt dann auch ohne px. Brauche ich das px dann unbedingt? Für was ist das wichtig? Also kann es sein, dass andere Browser (ich hab FF) das sonst anders interpretieren??

          1. Hallo,

            Ich hab mal Frontpage installiert und da ein paar Einstellungen ausprobiert und mir danach den Code angeschaut. Es klappt, wenn man den <td> TAG zu <td nowrap> erweitert.

            hast du dort wirklich Fontpage geschrieben !?!?!?!
            deinstallieren! sofort! :)
            Frontpage ist der gleiche SCH*** wie ein WYSIWYG-Editor ... --> sehr schlecht
            besser ist es, mit einem Texteditor zu arbeiten(notepad++ is geil ^^)

            Klappt dann auch ohne px. Brauche ich das px dann unbedingt? Für was ist das wichtig? Also kann es sein, dass andere Browser (ich hab FF) das sonst anders interpretieren??

            einheiten sind wichtig und gehören einfach dazu! :)
            man sollte sie deshalb niemals vergessen...

            MfG. Christoph Ludwig

            --
            Wo die Sprache aufhört, fängt die Musik an...
            Selfcode:  ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
            Go to this
            1. ist deinstalliert. Benutze ich ja auch nicht --> Notepad-Nutzer!!!

              Danke für eure Hilfe. Hat mich weiter gebracht!

              Grüße

              1. ist deinstalliert. Benutze ich ja auch nicht --> Notepad-Nutzer!!!

                ich hoffe du wirst bald notepad++-nutzer sein, mircosofts notepad ist etwas arg spartanisch ;)

          2. Ich hab mal Frontpage installiert und da ein paar Einstellungen ausprobiert und mir danach den Code angeschaut. Es klappt, wenn man den <td> TAG zu <td nowrap> erweitert.

            nein, das verhindert lediglich den zeilenumbruch bei leerzeichen - die breite ist aber dennoch nur die, die minimal benötigt wird

            Klappt dann auch ohne px. Brauche ich das px dann unbedingt?

            px hat keine wirkung, dank fehlerkorrektur funktioniert aber auch mit

            Für was ist das wichtig? Also kann es sein, dass andere Browser (ich hab FF) das sonst anders interpretieren??

            es kann sein, dass ein browser px NICHT interpretiert, weil er das garnicht muss

            aber wie schon gesagt: küble dein vorhaben und nutze zur formatierung css - html ist dafür nicht geeignet

            nowrap oder das css-equivalent white-space: nowrap ist für dein vorhaben (feste zellenbreite) nicht geeignet

    2. <td width="500px"><b>date</b></td>

      woher hast du das?

      außerdem kannst du doch im php-skript einen zähler einbauen und so sie anzahl herausfinden. danach entsprechend die tabelle anpassen.

      das ist absoluter blödsinn, da du die gegebenheiten des meist clientseitigen ausgabemediums nicht kennen kannst

      1. Hallo,

        <td width="500px"><b>date</b></td>
        woher hast du das?

        vom dem, der das gepostet hat !?
        er wollte es mit width machen. Ich persönlich würde es mit style="width:...;" machen oder gleich per css ...
        hmm .. hätt ich sagen sollen ^^

        das ist absoluter blödsinn, da du die gegebenheiten des meist clientseitigen ausgabemediums nicht kennen kannst

        "pixel" alias "px" kennt jeder. sag mir ein medium, welches px nicht kennt! :)

        MfG. Christoph Ludwig

        --
        Wo die Sprache aufhört, fängt die Musik an...
        Selfcode:  ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
        Go to this
        1. Hallo,

          <td width="500px"><b>date</b></td>
          woher hast du das?

          vom dem, der das gepostet hat !?

          nein, im op stand width="500" - das ist gültiges html

          er wollte es mit width machen. Ich persönlich würde es mit style="width:...;" machen oder gleich per css ...
          hmm .. hätt ich sagen sollen ^^

          dass das ganze mit css praktischer zu lösen ist und du es mit style="width: 500px" probiert hättest - wobei das ohne table-layout: fixed afaik auch nix bringt ;)

          aber einfach "irgendwelchen" falschen code hinschreiben hilft keinem ;)

          das ist absoluter blödsinn, da du die gegebenheiten des meist clientseitigen ausgabemediums nicht kennen kannst
          "pixel" alias "px" kennt jeder. sag mir ein medium, welches px nicht kennt! :)

          html-formatierung kennt keine pixel - lediglich ganzzahlen ohne einheit oder ganzzahlen mit %-zeichen oder variable angaben mit * am schluss

          zudem meinte ich damit, dass es unsinnig ist die breite mit php zu berechnen

    3. versuchs mal mit einheiten :)

      Nein, eben nicht. Das ist bei CSS richtig, bei HTML falsch. Es gab schon mehrere Hinweise darauf, aber mehr oder weniger indirekt, hier nochmal direkt.

      <td width="500px"><b>date</b></td>

      Das width-Attribut soll als Inhalt %Length; haben, das ist entweder ein Prozentwert oder %Pixels;, was wiederum eine Zahl ohne Einheit darstellt, die eine Länge in Pixeln angibt. width="500" steht also bereits für eine Breite von 500 Pixeln.
      Es steht einem Browser als frei, width="500px" einfach zu ignorieren.

      --
      Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.
      Self-Code: sh:( ch:? rl:( br:> n4:( ie:{ mo:) va:) de:> zu:} fl:| ss:| ls:~ js:|
  2. möchte eine Tabelle einbinden:
        <table border="1" cellpadding="0" cellspacing="0">
         <tr>
          <td width="500"><b>titel</b></td>
          <td width="500"><b>nummer</b></td>
          <td width="500"><b>discs</b></td>
          <td width="500"><b>dlt</b></td>
          <td width="500"><b>art</b></td>
          <td width="500"><b>komp</b></td>
          <td width="500"><b>date</b></td>
         </tr>
        </table>

    schon mal was von http://de.selfhtml.org/html/referenz/elemente.htm#th@title=th gehört?

    wenn du der tabelle eine feste breite geben willst, dann tu das bitte mit css

    du suchst "width: 500px;" und "table-layout: fixed;"

    Aber die Zellen werden nicht 500 breit, sondern eben nur so breit, wie es der Bildschirm zulässt, also so, dass man nicht scollen muss/kann.

    works as designed

    Da ich aber die Tabelle per PHP generiere weiß ich vorher die Gesamtbreite nicht, nur die SPaltenbreiten. Muss man da nur irgendnen Code einfügen, dass der nicht automatisch die Breite ans Fenster anpasst?

    siehe oben: css

    aber was stört dich daran, dass die spalten nur so breit sidn wie nötig, das ist doch ein feature für den benutzer

    1. Hallo,

      möchte eine Tabelle einbinden:
          <table border="1" cellpadding="0" cellspacing="0">
           <tr>
            <td width="500"><b>titel</b></td>
            <td width="500"><b>nummer</b></td>
            <td width="500"><b>discs</b></td>
            <td width="500"><b>dlt</b></td>
            <td width="500"><b>art</b></td>
            <td width="500"><b>komp</b></td>
            <td width="500"><b>date</b></td>
           </tr>
          </table>

      schon mal was von http://de.selfhtml.org/html/referenz/elemente.htm#th@title=th gehört?
      wenn du der tabelle eine feste breite geben willst, dann tu das bitte mit css
      du suchst "width: 500px;" und "table-layout: fixed;"

      Es ist dabei wichtig, der Tabelle eine Breite zu geben, die *kleiner* ist als die Summe der Spaltenbreiten:

      </archiv/2008/9/t176589/#m1162551>

      Freundliche Grüße

      Vinzenz

    2. Hi,

      Ich habe per CSS die Spaltenbreiten angeben (width: 500px;) und in der ID der Tabelle "table-layout: fixed;" gewählt, wie empfohlen.
      Wenn ich jetzt die Tabelle lade (die breiter ist als der Bildschirm) werden alle Spalten gestaucht auf die Breite, die für den Inhalt der Spalte nötig ist. Ich möchte aber, dass diese (des Aussehens wegen) breiter sind als unbedingt nötig.
      Muss ich dazu noch irgendwas anderes einstellen?

      Die Seite liegt unter
      http://fox.ichtest.de/playground/frameset.php?view=release

      Es geht um die Kopfzeile, also die grüne. Bei der Tabelle darunter funktioniert es komischerweise...

      Der Fehler tritt nur bei FF auf, nicht bei IE7...

      Danke
      Jens

      1. Hallo,

        Ich habe per CSS die Spaltenbreiten angeben (width: 500px;) und in der ID der Tabelle "table-layout: fixed;" gewählt, wie empfohlen.
        Wenn ich jetzt die Tabelle lade (die breiter ist als der Bildschirm) werden alle Spalten gestaucht auf die Breite, die für den Inhalt der Spalte nötig ist. Ich möchte aber, dass diese (des Aussehens wegen) breiter sind als unbedingt nötig.

        die diversen Browser sind da sehr inkonsequent, das hab' ich mal eingehend untersucht.

        Muss ich dazu noch irgendwas anderes einstellen?

        ja.

        Freundliche Grüße

        Vinzenz