HTML таблицы указывают ширину столбцов в px не работает - PullRequest
4 голосов
/ 20 декабря 2010

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

1

min-width: 100%;
table-layout: fixed;
width: 100%;

с этим решением мне нужно изменить размер любого отдельного столбца, прежде чем перейти (при необходимости) к 100%; например, если я увеличу только один столбец, все остальные столбцы будут ограничены, они не сохранят исходную ширину (как я бы)

2.

table-layout: fixed;

Есть идеи?

Edit: Это соответствующий HTML-код:

<table class="resizable" id="TabellaDati" ><thead>  <tr>
    <th id="MDT_ThID"><span>ID</span></th>
    <th id="MDT_ThText"  style="width: 146px;">Text</th>
    <th id="MDT_ThTitle"  style="width: 148px;">Title</th>
    <th id="MDT_ThCssClass"  style="width: 83px;">CssClass</th>
    <th id="MDT_ThUrl"  style="width: 92px;">Url</th>
    <th id="MDT_ThOrdine">Ordine</th>
    </tr>
</thead>
<tbody> <tr>
    <td headers="MDT_ThID">MenuAlbo</td>
    <td headers="MDT_ThText">Albo Pretorio</td>
    <td headers="MDT_ThTitle">Albo Pretorio</td>
    <td headers="MDT_ThCssClass"></td>
    <td headers="MDT_ThUrl">/AlboPretorio</td>
    <td headers="MDT_ThOrdine">2</td>
    </tr>
</tbody></table>

И КСС:

#TabellaDati {
    min-width: 100%;
    table-layout: fixed;
    width: 100%;
}
table {
    border-collapse: collapse;
}

1 Ответ

0 голосов
/ 20 декабря 2010

Я ответил на вопрос о настройке ширины столбца с помощью css пару дней назад. Это может помочь убедиться, что сначала все настроено правильно. Как установить ширину столбца таблицы. В основном я обнаружил, что нужно установить ширину таблицы, а также th / td. После этого раскладка таблицы: исправленная должна работать нормально.

EDIT:
Итак, я пропустил, что у вас была установлена ​​ширина ячейки. Итак, я загрузил вашу разметку и CSS, и это выглядит великолепно. (Я использую Chrome)

Тогда я был смущен, в чем проблема, и поэтому я также понял, что это, скорее всего, проблема AJAX. Мне не очень нравится AJAX, но я все еще проверяю это.

UPDATE:
Есть ли причина, по которой вы должны использовать Ajax? То есть, какую выгоду вы получаете, используя AJAX вместо простого Javascript, например:

var colText = document.getElementById('MDT_ThText');  
function setWidth(w) {  
 colText.style.width = w + "px";  
}

Я чувствую, что это был бы целый мир легче, и он остается хорошо отформатированным с разметкой и стилем, которые у вас есть.

Если вы непреклонны в использовании AJAX, укажите код вашего кода в отношении AJAX.

...