我正在尝试创建一个ajax列可调整大小的表,界面工作正常,但是当我调整列的大小时,浏览器会将表扩大到最大100%,最终调整其他列的大小。 我已尝试过这两种解决方案,但没有一种方法效果很好:
1
min-width: 100%;
table-layout: fixed;
width: 100%;
使用此解决方案,我需要调整任何单个列的大小,然后(如果需要)超过100%;例如,如果我只放大一列,所有其他列都受到限制,它们不会保持原始宽度(就像我一样)
2
table-layout: fixed;
有什么想法吗?
编辑: 这是相关的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>
和Css:
#TabellaDati {
min-width: 100%;
table-layout: fixed;
width: 100%;
}
table {
border-collapse: collapse;
}
答案 0 :(得分:-1)
我回答了几天前用css设置列宽的问题。它可能有助于确保首先正确设置。How to set table column width..基本上我发现我需要设置表格宽度以及th / td。之后,table-layout:fixed应该可以正常工作。
修改强>
所以,我错过了您将单元格宽度设置为内联。所以我加载了你的标记和CSS,看起来很棒。 (我正在使用Chrome)
然后我很困惑这个问题是什么,所以我也意识到这很可能是一个AJAX问题。我对AJAX并不热,但我还在检查它。
<强>更新强>
您有必要使用Ajax吗?也就是说,通过使用AJAX而不是像这样的简单的“Javascript”来获得什么好处:
var colText = document.getElementById('MDT_ThText');
function setWidth(w) {
colText.style.width = w + "px";
}
我觉得这将是一个更容易的整个世界,并且它保持良好的格式化你的标记和样式。
如果您坚持使用AJAX,请提供您的AJAX代码。