Frederik: Opera/IE ignoriert relative Angabe für col

Hallo!

Ich habe eine Tabelle (width: 100%) mit vier Spalten. Die erste Spalte soll eine feste Breite haben, die drei anderen Spalten sollen im Vergleich zueinander gleich breit sein.

Versucht habe ich es mit einer colgroup:

<colgroup>
        <col width="100"/>
        <col width="1*" span="3"/>
    </colgroup>

Leider funktioniert das nur mit Gecko-Browsern wie gedacht. Opera macht die drei letzten Spalten einfach nicht gleich breit, sondern passt die Breite dem Inhalt an. Der IE macht die erste Spalte merkwürdiger Weise ganz breit, und die anderen auch nicht gleich breit.

Denke ich hier falsch oder liegt der Fehler bei Opera/IE? Gibt es eine gute Lösung, die mit allen Browsern funktioniert?

Danke schon mal und liebe Grüße
Frederik

  1. Hallo Frederik

    Du mischt hier ein wenig ducheinader ...

    versuche es doch einmal mit:
    Wobei bei relativen angaben die Breite einer Tabellen Zelle sehr vom Inhalt abhängig ist ...
    Und ein verzicht auf Inline-Styles schön ist

    <table style="table-layout:fixed; border-collapse:collapse "
    <colgroup>
    <col style="width: 100px">
    <col />
    <col />
    <col />
    </colgroup>

    1. Du mischt hier ein wenig ducheinader ...

      Das würde ich gerne verstehen. Was habe ich denn durcheinander geschmissen? Funktionieren relative ("1*") Angaben nicht in Verbindung mit absoluten?

      versuche es doch einmal mit:
      Wobei bei relativen angaben die Breite einer Tabellen Zelle sehr vom Inhalt abhängig ist ...

      Mit table-layout: fixed doch eigentlich nicht mehr, oder verstehe ich das falsch?

      Und ein verzicht auf Inline-Styles schön ist

      Ja, das lässt sich dann ja noch auslagern.

      <table style="table-layout:fixed; border-collapse:collapse "
      <colgroup>
      <col style="width: 100px">
      <col />
      <col />
      <col />
      </colgroup>

      Ja, das funktioniert tatsächlich! Danke für den Tipp! Ich wäre nicht darauf gekommen, dass ein leeres col-Element ohne Attribute hier diese Wirkung hat.

      Liebe Grüße
      Frederik

  2. Hallo Frederik,

    Versucht habe ich es mit einer colgroup:

    <colgroup>
            <col width="100"/>
            <col width="1*" span="3"/>
        </colgroup>

    Leider funktioniert das nur mit Gecko-Browsern wie gedacht. [...]
    Denke ich hier falsch oder liegt der Fehler bei Opera/IE?

    die Erfahrungen, die Du hier schilderst entsprechen dem, was mit einer
    breiteren Testbasis auch in SELFHTML steht:

    http://de.selfhtml.org/html/tabellen/aufbau.htm#vordefinieren,
    Beispielschema 3 und der letzte Satz dieses Abschnitts zum Beispielschema 3:

    <zitat>
        Zu Beispielschema 3: Internet Explorer, Opera, Konqueror und Safari
        interpretieren relative Angaben nach dem Schema width="4*" nicht. Diese
        Möglichkeit beschränkt sich daher auf Mozilla Firefox.
    </zitat>

    Naja, beschränkt sich nicht nur auf Firefox, sondern wohl wie Du richtig
    feststellst, auf die ganze Gecko-Familie (Galeon war eine Zeitlang mein
    bevorzugter Browser unter Linux ...).

    Freundliche Grüße

    Vinzenz

    1. Hallo Vinzenz,

      die Erfahrungen, die Du hier schilderst entsprechen dem, was mit einer
      breiteren Testbasis auch in SELFHTML steht:

      Oh, tatsächlich, das habe ich in der Tat übersehen.

      Naja, die andere vorgeschlagene Lösung funktioniert ja. Aber es ist gut zu wissen, dass es nicht prinzipiell falsch gedacht war.

      Liebe Grüße
      Frederik