Announcement

Collapse
No announcement yet.

Problem mit Dynamischen Tabellen und CSS

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem mit Dynamischen Tabellen und CSS

    Hallo,
    ich stehe vor einem kleinen Problem,
    ich habe eine anzahl X Tabellen untereinander die Alle den Gleichen Aufbau haben, also gleiche Spaltenanzahl, gleiche Überschriften usw.
    Lediglich der inhalt der Tabelle verändert sich.

    nun habe ich das Problem das die Tabellen sowohl bei den Spaltenbreiten als auch bei der Gesammtbreite variieren, und dass ist natürlich Optisch mist.

    kann mir jemand sagen wie ich die Tabellen

    1. immer auf die gleiche gesammtbreite bekomme
    2. alle spalten untereinander bündig bekomme ...

    ob ich das per reinem HTML oder per CSS machen ist im Grunde egal
    ich habe schon über die Seite SELFHTML so einiges ausprobiert,
    leider Greifen die Breitenangaben nicht wie sie sollen, das Merkwürdige dabei ist bei einer Tabelle Greifen die Angeben bei der nächsten einfach nicht
    ich bin ziemlich ratlos muss ich zugeben.

    Auch der IE tanzt ziemlich aus der reihe, während das Ergebnis unter Chrome Akzeptabel ist, kann man es im IE total vergessen :-(

    Code:
    <table class='NameFromMyTable' border='1' >
    	<thead>
      	<tr>
          	<th COLSPAN=9 ALIGN=LEFT> <FONT SIZE="+2">Tabellenkopf 1 Spalte</FONT></th>
        	</tr>
        	<tr>
    			<th>Beschreibung 1</th>
    			<th>Beschreibung 2</th>
    			<th>Beschreibung 3</th>
    			<th>Beschreibung 4</th>
    			<th>Beschreibung 5</th>
    			<th>Beschreibung 6</th>
    			<th>Beschreibung 7</th>
    			<th>Beschreibung 8</th>
    			<th>Beschreibung 9</th>
    		</tr>
    	</thead>
    <tr>
    	<td>XXXXXXXXX</td>
    	<td>XXXXXXXX</td>
    	<td>XXXXXXXXXX</td>
    	<td>XXXXXXX</td>
    	<td>XXXXXXX</td>
    	<td>XXXXXXXXXXXXXXXXXXXXX</td>
    	<td> - </td>
    	<td><a href=LINK>BEschreibung</a></td>
    	<td><a href=LINK>BEschreibung</a></td>
    </tr>
    <tr>
    	<td>XXXXXXXXX</td>
    	<td>XXXXXXXX</td>
    	<td>XXXXXXXXXX</td>
    	<td>XXXXXXX</td>
    	<td>XXXXXXX</td>
    	<td>XXXXXXXXXXXXXXXXXXXXX</td>
    	<td> - </td>
    	<td><a href=LINK>BEschreibung</a></td>
    	<td><a href=LINK>BEschreibung</a></td>
    </tr>
    <tr>
    	<td>XXXXXXXXX</td>
    	<td>XXXXXXXX</td>
    	<td>XXXXXXXXXX</td>
    	<td>XXXXXXX</td>
    	<td>XXXXXXX</td>
    	<td>XXXXXXXXXXXXXXXXXXXXX</td>
    	<td> - </td>
    	<td><a href=LINK>Beschreibung</a></td>
    	<td><a href=LINK>Beschreibung</a></td>
    </tr>
    </table>
    Hat jemand einen Tipp für mich wie ich das Hinbekommen ?
    ich habe die HTML Seite auch schon mit Mehreren Tools auf Syntax geprüft und habe alle Fehler die sich in den HTML Tag befanden schon Korrigiert, jetzt bin ich mit meinem Latein am ende!!

    HILFE !!!!

  • #2
    Vorschlag: Alles in eine einzige Tabelle schreiben. Ggf. Zellen ohne Border, die einen Abstand erzeugen
    (Dein Text ist wegen der vielen Rechtschreibfehler schlecht zu lesen)
    Christian

    Comment


    • #3
      tja,
      ich wüste nicht wie ich das umsetzten sollte, muss ich zu meiner schande wirklich zugeben.

      Comment


      • #4
        ???Anstatt x einzelne Tabellen alles in eine schreiben. Dazu CSS defnieren die einen Kopf (Überschriften)anders anzeigen und CSS für Zellen ohne border
        Christian

        Comment


        • #5
          Moin,

          was Du als Probleme beschreibst, ist ein Feature von Tabellen, die verhalten sich absichtlich so.

          Bei Tabellen ist es nicht unbedingt üblich, dass man eine feste Spaltenbreite vorgibt. Tabellen sind in der Lage, ihre Spaltenbreite optimal an den Inhalt anzupassen.
          Deswegen sind es Tabellen. Wenn man hier feststellt, dass das doof ist, dann bewegt man sich meist auf dem schmalen Grat zwischen tabellarischen Daten und nicht-tabellarischen Daten,
          so wie das auch mit Deiner Zelle ist, wo nur ein "-" drin steht. Das ist semantisch eigentlich Mist. Über den Rest Deiner Tabelle kann ich aufgrund der vielen XXXXX leider nicht urteilen.

          Um Deine zwei Punkte zu lösen, bleibt Dir die beste Lösung - wie schon geschrieben wurde, eine einzige Tabelle daraus zu machen.
          Ansonsten sollte es aber auch möglich sein, per CSS die width der Spalten festzulegen. Das kann halt zu unerwünschten Ergebnissen kommen und wird - IIRC - auch nicht beachtet, wenn
          der Inhalt sich an der Breite nicht umbrechen lässt; oder aber der Inhalt geht über die Spaltenbreite hinaus, wenn Du nicht gerade noch zusätzlich ein overflow:auto in die Zelle einbaust.
          Aber das alles sieht noch viel mistiger aus, als wenn mehrere Tabellenb unterschiedliche Spaltenbreiten haben.

          Die Frage ist überhaupt, sind es Daten, die alle zusammen gehören? Dann ist es aus Sicht der Semantik sowieso Pflicht, daraus eine Tabelle zu machen.
          Wenn es unterschiedliche Daten sind, dann ist da eigentlich auch nichts verwerfliches dran, wenn die Spalten unterschiedlich breit sind.

          Ob Du Dein Problem per reinem HTML oder per CSS machst, ist im Grunde nicht egal, denn HTML ist nur für die Semantik da und allein CSS
          für Layout und Optik. Daher solltest Du auch solche Krücken wie das font-Tag aus Deinem Code entfernen. Das hat in HTML nichts zu suchen.

          Wenn Du Deine Seite auf Fehler geprüft haben willst, dann hast Du vermutlich eine Übergangs-Variante von HTML benutzt. Du solltest aber
          eine Strict-Variante benutzen (z.B. HTML 4.01 Strict), dann werden Dir wirklich alle Fehler aufgezeigt, denn da sind noch einige drin: Veraltete Tags und Attribute und fehlende Anführungszeichen.

          Freundliche Grüße,
          -Efchen

          Comment

          Working...
          X