Tobain: 100% Angaben bei Tabellen (konform oder nicht?)

Hallo Leute,

Ich schlage mich gerade mit dem Problem rum ob bei einer Tabelle 100% Angaben zum füllen des restlichen Platzes korrekt sind. Zur Vorstellung erst mal ein kleines Beispiel:

<table style="width:400px;">
 <tr>
  <td colspan="2">Text</td>
 </tr>
  <td>Inhalt mit gewisser Breite</td>
  <td style="width:100%;">Bereichsfüller</td>
 </tr>
</table>

Denn hier habe ich ziemlich unterschiedliche Erfahrungen machen müssen. So stellt der IE die 400px + der "gewissen Breite" dar und der Mozilla (5.0+) hält sich an die 400px aber verrechnet sich immer mal wieder. (+-1px)

Nun stellt sich die Frage was korrekt ist. Ich blätterte nun schon durch die Seiten des W3C konnte aber keine Antwort auf diese Frage finden. Außerdem fiel mir noch ein Problem ins Auge. Denn wenn ich die Seiten ohne Angabe des Doctypes schreibe dann passen auf dem Mozilla die Größenangaben perfekt, schreibe ich aber einen hinzu und lasse ihn vom Validator validieren so passen auf einmal keine Größenangaben mehr und der Rest ist verschoben. Woran könnte das liegen?

Ich hoffe es bereitet euch nicht alzu viel Kopfzerbrechen.

  1. Hi!

    Problem nicht nachvollziehbar. O6/Win, MSIE6/Win, Mozilla-nightly zeigen die Tabelle immer mit einer Breite von 400px an, wie definiert.

    Außerdem fiel mir noch ein Problem ins Auge. Denn wenn ich die Seiten ohne Angabe des Doctypes schreibe dann passen auf dem Mozilla die Größenangaben perfekt, schreibe ich aber einen hinzu und lasse ihn vom Validator validieren so passen auf einmal keine Größenangaben mehr und der Rest ist verschoben. Woran könnte das liegen?

    http://google.de/search?q=quirks+mode+site:mozilla.org

    Da du ein neues Dokument erstellst, hast du keinen Grund, nicht ein Dokument mit gültigem Doctype zu erstellen.

    1. Da du ein neues Dokument erstellst, hast du keinen Grund, nicht ein Dokument mit gültigem Doctype zu erstellen.

      Mein Beispiel ist ja auch nicht vollständig, so fallen momentan Bereiche wie Padding, Margin oder Border weg. Und hierbei verrechnet sich der Mozilla (N6.2 und Mozilla nightly) jeweils um einen Pixel. Und zwar in der Form das er den Rechten Rahmen einer Zelle mal einen Pixel weiter rechts setzt als er es sollte. Und vor allem sind es ja mehrere Zellen, und er macht es beim Aufbau bei jeder Zelle unterschiedlich, owohl die alle den gleichen Inhalt haben. Also er verrechnet sich.

      Und das mit den Doctypes verstehe ich auch nicht, denn wenn ich HTML 4.01 angebe und mich auch strikt an die Vorgaben halte, verunstaltet mir der N6.2 total das Layout indem er grundsätzlich alle Tabellen zu hoch und zu breit zeichnet (die Innenabstände).

  2. hi

    Denn hier habe ich ziemlich unterschiedliche Erfahrungen machen müssen. So stellt der IE die 400px + der "gewissen Breite" dar und der Mozilla (5.0+) hält sich an die 400px aber verrechnet sich immer mal wieder. (+-1px)

    wer sich hier verrechnet, ist der IE5.x (IE6 macht's bei gültigem DOCTYPE richtig).
    Bei Microsoft war man lange der Meinung, dass der Wert width den Bereich von edr Innenkannte des linken zur innenkante des rechten Randes definiert (Teilweise sogar mit dem Rand, was wohl hier das Problem ist!). Korrekt ist aber, dass es sich hierbei nur um die Breite des wirklichen Inhaltes handelt wozu nichtmal padding gehört! Definier mal ausdrücklich border-width:0px;.

    Zweites Problem: die 100%-Zelle... wie soll das klappen? 100%+nochwas..?! Definier lieber an der linken Zelle eine Breite und lass der rechten ihren Spass (width:auto;)

    gruss Kai