W jaki sposób mogę używać elips w tabeli szerokości płynu, nie czyniąc każdej kolumny tym samym rozmiarem?

Powiedzmy, że moje kolumny w tabeli sąid, name, description, iphone. Thedescription kolumna zawiera 1-255 znaków, ale identyfikator ma maksymalnie 3 znaki.

Chciałbym, aby kolumny miały odpowiedni rozmiar, a nie każdą kolumnę o tym samym rozmiarze. I chciałbymdescription kolumna przepełni się do elipsy, gdy okno jest zbyt małe, aby zmieścić całą zawartość.

table-layout:fixed; to standardowy sposób na zrobienietext-overflow: ellipsis; działa, ale zmienia rozmiar wszystkich kolumn do tego samego rozmiaru. Wolałbym zachować szerokościauto zamiast naprawiać.

Możesz pomóc?

Oto mojajsFiddle: http://jsfiddle.net/RQhkk/1/

Oto zrzut ekranu, z którym mam do czynienia:

Zauważ jakTable 1 sprawia, że ​​wszystkie kolumny są tego samego rozmiaru? To okropne.

Zauważ jakTable 2 rozmiary kolumn na podstawie treści? Dobre. Z wyjątkiem sytuacji, gdy treść jest za długa:Table 3. Wtedy to nie pasuje. W takim przypadku chciałbym, żeby przelewał się do elipsy.

A oto moja tabela html i kod css:

<div id="t1">
<table>
    <thead>
        <tr>
            <th>id</th>
            <th>name</th>
            <th class="ellipsis">description</th>
            <th>phone</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>1</td>
            <td>alpha</td>
            <td class="ellipsis">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</td>
            <td>555-555-5555</td>
        </tr>
        <tr>
            <td>2</td>
            <td>beta</td>
            <td class="ellipsis">Sed et nulla neque.</td>
            <td>555-555-5555</td>
        </tr>
        <tr>
            <td>3</td>
            <td>gamma</td>
            <td class="ellipsis">Morbi imperdiet neque ut lorem rhoncus fermentum.</td>
            <td>555-555-5555</td>
        </tr>
    </tbody>
</table>
</div>

<style>
#t1 table {
    table-layout:fixed;
    width:100%;
}
#t1 td {
    white-space: nowrap;
}
#t1 td.ellipsis {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    word-break: break-all;
    word-wrap: break-word;
}
</style>

Jeśli usunętable-layout: fixed; szerokości kolumn są tym, czego można oczekiwać - wielkością do zawartości. Niestety nie mogę po prostu uruchomić elipsy bez stałego układu. Gdzie się mylę?

questionAnswers(3)

yourAnswerToTheQuestion