HTML在同一行左右对齐文本



我希望找到一种更好的方法来实现这一点,但现在,出于必要的原因,我有一个打印html代码的perl脚本。其中一个subs使用for循环遍历目录,并打印出具有最后修改日期的文件名:

  foreach my $result (@files) {
    if ($result =~ /.txt/ ) {
      chomp $result;
      my $filename = basename($result);
      my $time = (stat("$result"))->[9] or die "$!";
      my $date = localtime $time;
      my $filestat = '<div style="text-align:left;">' . "$filename" . '</div><div style="text-align:right;">' . "$date" . '</div>';
      push(@final_result,$filestat);
    }
  }
  my $final_result_stat = join('<br>',@final_result);
  my $header = '<p style="text-align:left;">File Name<span style="float:right;">Last Modified Date</span></p>';
  return "$header" . "$final_result_stat";
}

生成的html输出放在标记之间,并放在正文中的表中。我遇到的问题是文本输出($filename和$date)没有在同一行对齐。它们看起来是一行一行,但$filename向左对齐,$date向右对齐。此外,下一个结果输出的间隔相当远,我希望它们更紧凑。

Current:
Filename
                         Date
Filename
                         Date
I want:
Filename            Date
Filename            Date

此外,我知道这还处于艰难的阶段,所以我们非常欢迎任何关于如何让它变得更干净、更好的建议!

您必须转换此行:

my $filestat = '<div style="text-align:left;">' . "$filename" . '</div><div style="text-align:right;">' . "$date" . '</div>';

收件人:

my $filestat = '<div class="filename">' . "$filename" . '</div><div class="date">' . "$date" . '</div>';

并添加以下css:

.filename {
  display: inline-block;
  width: 30%;
}
.date {
  display: inline-block;
  width: 70%;
}

最新更新