0

如何在我的表格循环中添加对齐?

我有代码:

<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>...

但我的代码无法正常工作。

4

1 回答 1

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++]可以有值:左、右、居中、对齐和继承。不接受其他值。

你想做的事情可以不用 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;}

它将使第一列左对齐,第二列居中,第三列右对齐。

于 2013-05-21T10:17:22.927 回答