在我的ASP.NET应用程序中,我有一个表。
虽然我设置了列宽,但它在浏览器中会发生变化(100px列变为96px或108px)。
我在div
标记内有th
。如果我将100px宽度设置为div
,则它会从th
出来,因为渲染列宽为96px。什么是使列宽准确的解决方案?
请不要告诉我为div
制作100%宽度,因为它使用绝对位置(用于固定表格标题。)
<table border="0" cellpadding="1">
<tr>
<th align="center" width="100px">
<div style="width:100px;">PV#</div>
</th>
<th align="center" width="90px">
<div style="width:90px;">Date</div>
</th>
<th align="center" width="100px">
<div style="width:100px;">Payment Doc#</div>
</th>
<th align="center" width="410px">
<div style="width:410px;">SOA Payments</div>
</th>
<th align="center" width="100px">
<div style="width:100px;">Payment Made</div>
</th>
</tr>
</table>
&#13;
答案 0 :(得分:0)
您的TH标签在您的示例中有填充。要在每个TH内部具有div的确切宽度,您需要将填充设置为0。
<table border="0">
<tr>
<th style="padding:0;">
<div style="text-align:center;width:100px;">PV#</div>
</th>
<th style="padding:0;">
<div style="text-align:center;width:90px;">Date</div>
</th>
<th style="padding:0;">
<div style="text-align:center;width:100px;">Payment Doc#</div>
</th>
<th style="padding:0;">
<div style="text-align:center;width:410px;">SOA Payments</div>
</th>
<th style="padding:0;">
<div style="text-align:center;width:100px;">Payment Made</div>
</th>
</tr>
</table>
&#13;
答案 1 :(得分:0)
由于所有th
和div
都有固定的宽度,因此您没有改变宽度。
cellpadding="1"
这会将2px
添加到th
宽度。