Wie man eine HTML-Tabelle (in einem fixed-width-div) Anpassung an die Breite der Zellen statt dessen den container?

Ich möchte folgende Tabelle, in der die Anpassung der Breite der Zellen, statt dessen container:

<div style='width: 700px; border: 1px solid red;'>
    <table border="1" style='table-layout: fixed;'><tbody>
        <tr>
            <th style="" colspan="3">Group 1</th>
            <th style="" colspan="5">Group 2</th>
            <th style="" colspan="4">Group 3</th>
        </tr>
        <tr>
            <th style="width: 62px;">A</th>
            <th style="width: 200px;">B</th>
            <th style="width: 62px;">C</th>
            <th style="width: 62px;">D</th>
            <th style="width: 62px;">E</th>
            <th style="width: 62px;">F</th>
            <th style="width: 62px;">G</th>
            <th style="width: 62px;">H</th>
            <th style="width: 62px;">I</th>
            <th style="width: 100px;">J</th>
            <th style="width: 62px;">K</th>
            <th style="width: 68px;">L</th>
        </tr>
    </tbody></table>
</div>

Die Breite des Containers ist geringer als die Summe der Zelle Breite. Es ist okay, um zu zeigen, horizontale Bildlaufleiste hier, aber die Tabelle kann einfach nicht breiter sein als die seines Containers. Wenn ich die Berechnung der Summe der Breite für die colspan und die Tabelle, es kann die Arbeit zu tun, aber was ist, wenn die Zellen mit nicht-px Breite, wie "%" oder "em"? Dann statische px Berechnung nicht arbeiten kann.

Aktuellen Effekt ist:
Wie man eine HTML-Tabelle (in einem fixed-width-div) Anpassung an die Breite der Zellen statt dessen den container?
Der erwartete Effekt wäre der Tisch Breite von mehr als der div-container ist die Breite.

Aber wenn Sie die Breite direkt in die Tabelle hat auch Probleme: die Breite einstellen für Zellen werden ignoriert. Zum Beispiel:

    <div style='width: 700px; border: 1px solid red;'>
    <table border="1" style='table-layout: fixed; width: 900px;'><tbody>
        <tr>
            <th style="" colspan="3">Group 1</th>
            <th style="" colspan="5">Group 2</th>
            <th style="" colspan="4">Group 3</th>
        </tr>
        <tr>
            <th style="width: 62px;">A</th>
            <th style="width: 200px;">B</th>
            <th style="width: 62px;">C</th>
            <th style="width: 62px;">D</th>
            <th style="width: 62px;">E</th>
            <th style="width: 62px;">F</th>
            <th style="width: 62px;">G</th>
            <th style="width: 62px;">H</th>
            <th style="width: 62px;">I</th>
            <th style="width: 100px;">J</th>
            <th style="width: 62px;">K</th>
            <th style="width: 68px;">L</th>
        </tr>
    </tbody></table>
</div>

Der Effekt ist:
Wie man eine HTML-Tabelle (in einem fixed-width-div) Anpassung an die Breite der Zellen statt dessen den container?
Hinweis: die 2. Zelle (sollte 200px) ist so schmal wie der 1. und 3. einem.

Jeder kann etwas Licht auf dieses Problem? Vielen Dank im Voraus.

InformationsquelleAutor Oliver | 2013-03-06
Schreibe einen Kommentar