如何在循环内向表中添加对齐(左,中,右)

时间:2013-05-21 10:14:18

标签: php html-table alignment

如何将对齐添加到我的表循环?

我有代码:

<table width="960px" border="0" cellspacing="0" cellpadding="0">
  <tr valign=top>  
<?
activate ('main/inside');
$rid = get ('main/inside');
$l = openFilesList (PAGE, 'id', ASC, 20);
$i = 0;
while ($id = readList ($l)) {
setActive ($id);
if (!$rid) $rid = _say ('Раздел');
$q = 0;
$arr = array('left', 'center', 'right');
if ($i == 0) echo '<td align='.$arr[$q++].'>';
    ?>
"some text"
<?  if ($i++ == 1) {
        echo '</td>';
        $i = 0;
    }
}
if ($i>0) {

    echo str_repeat ('', 2-$i);
    echo '';
}

?>

</tr>
    </table>

输出应为

... <td align="left">some text some text</td>
<td align="center">some text some text</td>
<td align="right">some text some text</td>...

但我的代码无效。

1 个答案:

答案 0 :(得分:1)

变化

if ($i == 0) echo '<td align='.$arr[$q++].'>';

if (!$i) echo '<td style="text-align:'.$arr[$q++].';">';

当您使用CSS而不是旧HTML时,它会有所帮助。有关文本的更多信息,请点击此处:

http://www.w3schools.com/cssref/pr_text_text-align.asp

还记得$arr[$q++]可以有值:left,right,center,justify和inherit。没有其他价值可以接受。

您想要做的事情可以在没有PHP的情况下完成,也可以通过JS或CSS完成。例如,如果你放入

你可以使用CSS3代码

 table.mytable tdp:nth-child(1){text-align:left;}
 table.mytable tdp:nth-child(2){text-align:center;}
 table.mytable tdp:nth-child(3){text-align:right;}

它会使第一列与左对齐,第二列与中心对齐,第三列与右对齐。