我有一些要显示的数据,其中包含一排标题和一排或多排值.当前,我正在使用HTML表,但是遇到很多列的情况,该表不在屏幕末端.或某些列名太长(它们通常只是一个带下划线的单个单词),即使列数不多,该表仍位于浏览器窗口的末尾.
我想要的是能够显示所有数据而不必水平滚动.即使这意味着将数据分成多个表.
我目前正在使用Embedded Perl,我使用的一个棘手的解决方案是仅对每个表硬编码8列,并在必要时在第一个表下启动一个新表.但是理想情况下,我想要的是在一个表上动态地放置尽可能多的列,并在需要时换行到一行新的行/表/表中.
可以仅使用HTML / CSS吗?还是我需要以某种方式计算每列将要占用的宽度,并以此为基础建立每个表格的列数?我不必使用HTML表,因此,如果有更好的解决方案,我非常愿意使用它.
最佳答案
使用表格{display:inline; }每列结合一个表应该可以解决您的问题.运行此命令并将输出加载到Web浏览器中.调整窗口大小时,不适合的列会下拉.如果您不希望所有表受到影响,则可能要对表使用一个类.
#!/usr/bin/perl
use strict;
use warnings;
print "<html><head><style>table { display: inline }</style></head><body>";
for my $col (1 .. 100) {
print "<table><tr><th>$col</th></tr>";
for my $row (1 .. 10) {
print "<tr><td>$row</td></tr>";
}
print "</table>";
}
print "</body></html>";