如何将对齐添加到我的表循环?
我有代码:
<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>...
但我的代码无效。
答案 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;}
它会使第一列与左对齐,第二列与中心对齐,第三列与右对齐。