Подтвердить что ты не робот

Как сделать ширину усадки ячейки таблицы подходящей только для ее содержимого?

Я хочу, чтобы таблица имела ширину 100%, но только один столбец из нее должен иметь свободную ширину, например:

| A | B | C                                                                  |

поэтому ширина столбцов A и B должна соответствовать ширине их содержимого, но ширина C должна продолжаться до конца таблицы.

Хорошо. Я мог бы указать ширину A и B в пикселях, но проблема в том, что ширина содержимого этих столбцов не является фиксированной, поэтому, если я устанавливаю фиксированную ширину, она не будет соответствовать содержимому совершенно: (

PS: Я не использую фактические элементы таблицы, а список DL, завернутый в div. У div есть отображение: table, dl имеет отображение: table-row и dt/dd display: table-cell...

4b9b3361

Ответ 1

Если я понял вас, у вас есть табличные данные, но вы хотите представить их в браузере с помощью элементов div (таблицы AFAIK и divs с отображением: таблица ведет себя в основном одинаково).

(здесь работает jsfiddle: http://jsfiddle.net/roimergarcia/CWKRA/)

Разметка:

<div class='theTable'>
    <div class='theRow'>
        <div class='theCell' >first</div>
        <div class='theCell' >test</div>
        <div class='theCell bigCell'>this is long</div>
    </div>
    <div class='theRow'>
        <div class='theCell'>2nd</div>
        <div class='theCell'>more test</div>
        <div class='theCell'>it is still long</div>
    </div>
</div>​

И CSS:

.theTable{
    display:table; 
    width:95%; /* or whatever width for your table*/
}
.theRow{display:table-row}
.theCell{
    display:table-cell;
    padding: 0px 2px; /* just some padding, if needed*/
    white-space: pre; /* this will avoid line breaks*/
}
.bigCell{
    width:100%; /* this will shrink other cells */
}​

Печальная часть: я не мог этого сделать год назад, когда мне это действительно нужно -_-!