我正在尝试将应用程序的调试日志格式化为 HTML 表。我有两列:一列用于时间戳,另一列用于日志条目的文本。文本很容易包含长字符序列。例子:
<table>
<tr>
<td class="ts">12:50:01.683</td>
<td class="txt">[1]: NDIS-WDM_Driver_for_HighSpeed_USB-Ethernet_Adapter_(Microsoft's_Packet_Scheduler)_:\Device\NPF_{7D9F4819-8B81-49FA-B321-5F1ACBD6740D}</td>
</tr>
<tr>
<td class="ts">12:50:01.683</td>
<td class="txt">[2]: Realtek_10/100/1000_Ethernet_NIC_________________________________(Microsoft's_Packet_Scheduler)_:\Device\NPF_{90EF96D0-AC16-41E5-AFFD-1B25D439A0D9}</td>
</tr>
<tr>
<td class="ts">12:50:01.683</td>
<td class="txt">[3]: Realtek_10/100/1000_Ethernet_NIC_________________________________(Microsoft's_Packet_Scheduler)_:\Device\NPF_{D3FA28DC-C59B-4027-AC43-6480B775ACD9}</td>
</tr>
</table>
我希望表格始终使用 100% 的浏览器宽度。时间戳列的宽度应适应其内容,第二列的文本应自动换行。我试过的CSS:
table {
width: 100%;
border-collapse: collapse;
table-layout: fixed;
}
td {
border: solid 1px #000;
}
.ts {
width: 100px;
}
.txt {
word-wrap: break-word;
}
在 Chrome 26 中,不带table-layout: fixed;
,表格比浏览器宽,并出现水平滚动条。由于此设置使列的宽度相等,因此我必须将时间戳列的宽度设置为预定义的值:width: 100px;
.
问题是,如果用户将缩放因子更改为Ctrl + Mouse Wheel
,时间戳很容易变得比他们的列宽,这看起来很难看。是否可以使时间戳列的宽度跟随其内容的宽度?(我可以让它牢不可破white-space: pre;
。)或者,是否有另一种不基于的方法table-layout: fixed;
?