【发布时间】:2012-10-10 12:00:09
【问题描述】:
我的 jsp 页面中有一个包含 1000 条记录的表。在 IE-8 中执行制表符/输入操作时,浏览器响应缓慢。因此,我想用 div 标签更改所有表格标签,这可能会加快响应速度。
如何在 html 中将下表代码更改为 div 标签。
<div style="overflow: auto; height: 240px;">
<TABLE BORDER=0 CELLSPACING=2 CELLPADDING=2 WIDTH="100%">
<TR>
<TD ALIGN="CENTER">
<TABLE BORDER=0 CELLSPACING=2 CELLPADDING=2>
<TR>
<TH ALIGN="left" VALIGN=MIDDLE HEIGHT="20" BGCOLOR="#C0C0C0">
<B>AAAAA</B>
</TH>
<TH ALIGN="left" VALIGN=MIDDLE HEIGHT="20" BGCOLOR="#C0C0C0">
<B>BBBBBB</B>
</TH>
<TH ALIGN="left" VALIGN=MIDDLE HEIGHT="20" BGCOLOR="#C0C0C0">
<B>CCCCC</B>
</TH>
<TH ALIGN="right" VALIGN=MIDDLE HEIGHT="20" BGCOLOR="#C0C0C0">
<B>DDDDDD</B>
</TH>
<TH ALIGN="right" VALIGN=MIDDLE HEIGHT="20" BGCOLOR="#C0C0C0">
<B>EEEEEEE</B>
</TH>
<TH ALIGN="right" VALIGN=MIDDLE HEIGHT="20" BGCOLOR="#C0C0C0">
<B>${aaaaa}</B>
</TH>
<TH ALIGN="right" VALIGN=MIDDLE HEIGHT="20" BGCOLOR="#C0C0C0">
<B>${bbbbb}</B>
</TH>
<TH ALIGN="right" VALIGN=MIDDLE HEIGHT="20" BGCOLOR="#C0C0C0">
<B>Next</B>
</TH>
<TH ALIGN="right" VALIGN=MIDDLE HEIGHT="20" BGCOLOR="#C0C0C0">
<B>Ready</B>
</TH>
</TR>
<c:forEach items="${items}" var="item" varStatus="status">
<TR>
<TD ALIGN="right" width=120 VALIGN=MIDDLE HEIGHT="20">
${aaaaa}
</TD>
<TD ALIGN="right" VALIGN=MIDDLE HEIGHT="20">
${bbbbbb}
</TD>
<TD ALIGN="left" VALIGN=MIDDLE HEIGHT="20">
${cccccc}
</TD>
<TD BGCOLOR="gray" ALIGN="right" VALIGN=MIDDLE HEIGHT="20">
<input type="text" NAME="total" SIZE="7" MAXLENGTH="7"
VALUE="0">
</TD>
<TD ALIGN="right" VALIGN=MIDDLE HEIGHT="20">
<input type="text" NAME="tbHd" SIZE="7"
MAXLENGTH="7" VALUE="0">
</TD>
<TD ALIGN="right" VALIGN=MIDDLE HEIGHT="20">
<input type="text" NAME="tbHd" SIZE="7"
MAXLENGTH="7" VALUE="0">
</TD>
<TD ALIGN="right" VALIGN=MIDDLE HEIGHT="20">
<input type="text" NAME="tbHd" SIZE="7"
MAXLENGTH="7" VALUE="0">
</TD>
<TD ALIGN="right" VALIGN=MIDDLE HEIGHT="20">
<input type="text" NAME="tbHd" SIZE="7"
MAXLENGTH="7" VALUE="0">
</TD>
<TD ALIGN="right" VALIGN=MIDDLE HEIGHT="20">
<input type="text" NAME="tbHd" SIZE="7"
MAXLENGTH="7" VALUE="0">
</TD>
</TR>
</c:forEach>
<TR>
<TD></TD>
<TD></TD>
<TD ALIGN="right" VALIGN=MIDDLE HEIGHT="20">
<B>Total:</B>
</TD>
<TD ALIGN="right" VALIGN=MIDDLE HEIGHT="20">
<input type="text" NAME="tbTotal" SIZE="7"
MAXLENGTH="7" VALUE="0">
</TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
</TR>
</TABLE>
</td>
</tr>
</table>
</div>
【问题讨论】:
-
我认为这需要大量的 CSS 来完成并且会很邪恶,无论如何这里是 JSbin -> jsbin.com/aveban/1/edit
-
表格用于数据,继续使用表格。
-
@Ran 可能会决定不支持 IE8?表格数据应始终在表格中。无论什么场合。
-
在这里同意@Rune。我不知道用 div 替换 table 会给你带来什么。特别是如果您呈现的是表格数据并且没有指示数据是什么。可能是您呈现的内容需要很长时间才能呈现。