Интеллектуальные ширины столбцов таблицы HTML - PullRequest
0 голосов
/ 30 января 2012

Вот как выглядит моя таблица:

enter image description here

Я хочу уменьшить разрыв между двумя кнопками и переместить кнопки больше к текстовому содержимому. Однако я все еще хочу, чтобы таблица корректировалась, если я ввожу какой-то действительно длинный текст или смотрю на него на большом / маленьком экране.

jsFiddle link

Это мой текущий HTML:

<table cellspacing="0" rules="all" border="1" style="border-collapse:collapse;">
<thead>
    <tr>
        <th scope="col">Manufacturer</th>
        <th scope="col">&nbsp;</th>
        <th scope="col">&nbsp;</th>
    </tr>
</thead>
<tbody>
    <tr>
        <td class="fullWidth">Arrow International</td>
        <td class="fixedWidth"><input type="button" value="Report" class="button" /></td>
        <td class="fixedWidth"><input type="button" value="Delete"  class="button" /></td>
    </tr>
    <tr>
        <td class="fullWidth">Cardinal Health</td>
        <td class="fixedWidth"><input type="button" value="Report" class="button" /></td>
        <td class="fixedWidth"><input type="button" value="Delete" class="button" /></td>
    </tr>
    <tr>
        <td class="fullWidth">DeRoyal</td>
        <td class="fixedWidth"><input type="button" value="Report" class="button" /></td>
        <td class="fixedWidth"><input type="button" value="Delete" class="button" /></td>
    </tr>
    <tr>
        <td class="fullWidth">Kimberly-Clark</td>
        <td class="fixedWidth"><input type="button" value="Report" class="button" /></td>
        <td class="fixedWidth"><input type="button" value="Delete" class="button" /></td>
    </tr>
</tbody>

Это мой текущий CSS:

#main-content table {
            width: 100%;
            border-collapse: collapse;
            }

#main-content table thead th {
            font-weight: bold;
            font-size: 15px;
            border-bottom: 1px solid #ddd;
            }

#main-content tbody {
            border-bottom: 1px solid #ddd;
            }

#main-content tbody tr {
            background: #fff;
            }

#main-content tbody tr.alt-row {
            background: #f3f3f3;
            }

#main-content table td,
#main-content table th {
            padding: 10px;
            line-height: 1.3em;
            }        

#main-content table tfoot td .bulk-actions {
            padding: 15px 0 5px 0;
            } 

#main-content table tfoot td .bulk-actions select {
            padding: 4px;
            border: 1px solid #ccc;
            }

#main-content td .fixedWidth {
            white-space: nowrap;
            width: 0%;
            }

#main-content td .fullWidth {
            width: 100%;
            white-space: normal;
            }

Я экспериментировал с пробелами: сейчас, но пока не нашел решения!

Я близко?

Ответы [ 3 ]

2 голосов
/ 30 января 2012

Может как то так?http://jsfiddle.net/tEyQH/

#main-content table thead th:last-child {
    width: 100%;
}
2 голосов
/ 30 января 2012

Ваша таблица всегда настраивается на 100%, измените это в CSS:

#main-content table {
        /*width: 100%;*/
        border-collapse: collapse;
        }

В таблице будет настроена ширина содержимого.

0 голосов
/ 30 января 2012

Я уверен, что у кого-то есть решение CSS, которое работает во всех браузерах, но я обнаружил, что самый быстрый способ решить эту проблему (то есть не тратить впустую деньги на это), это использовать <colgroup/> элемент с элементами '' под ним:

<table>
    <colgroup>
        <col id='foo'/>
        <col id='bar'/>
        <col id='baz'/>
    </colgroup>
...
</table>

Затем задайте ширину элемента col в таблице стилей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...