繁体   English   中英

html 段内文本的条件 alignment

[英]Conditional alignment of text inside html paragraph

这是有时需要右对齐,有时需要居中对齐的表格数据:

<td colspan="5"><p align="right"><?php echo number_format($total_adjusted_taxes,2) ?></p></td>

决定是右对齐还是居中的是这个变量:

<?php $r_or_c = (count($categories)==1?"right":"left");    
?>

在 p 标签中使用这个变量$r_or_c的最佳方法是什么?

我会写这样的东西。 您将在适当的位置回显正确的值:

<p align="<?php echo count($categories)=='1' ? 'right' : 'left'; ?>">....</p>

不过,我更喜欢使用 CSS 来设置元素样式,因此您可以使用相同的方法来分配不同的 class,或者只是style="text-align:<?php echo....;?>"> 使用 class 更好,因为您不需要在编写内联样式的每个段落中进行更改。

如果您在其他地方定义变量,并且只想回显它(就像您所做的那样,似乎):

$r_or_c = count($categories)=='1' ? "right" : "left";

<p align="<?php echo $r_or_c;?>">....</p>

正如其他人所说,最好不要使用这种内联样式,否则将来您的代码将更难以维护。 您也可以设置<td>的样式而不是您的段落:

css:

  .left { text-align:left;}
  .right { text-align:right;}
 /* OR : */
 td.left {}
 td.right{}

html:

<td class="<?php echo $r_or_c;?>">......</td>

另外,您说“中心”但写了“左”,不知道您真正需要什么,所以以防万一,显然用“中心”代替“左”。

<td colspan="5"><p align="<?php echo (count($categories)==1?"right":"left");?>"><?php echo number_format($total_adjusted_taxes,2) ?></p></td>

那是你问的吗?

塞进去就好了没有太大的复杂性。

<td colspan="5"><p align="<?=$r_or_c?>"><?php echo number_format($total_adjusted_taxes,2) ?></p></td>

附带说明一下,您应该开始使用 CSS 进行样式设置:)

.align-right { text-align: right; }
.align-left { text-align: left; }

-

<td colspan="5"><p class="align-<?=$r_or_c?>"><?php echo number_format($total_adjusted_taxes,2) ?></p></td>

作为我对这个问题的评论,正如 OP 所回应的那样:

......确实是[他]在寻找的东西。 工作完美[ly]。

我选择发布该评论作为答案:

我建议完全删除p标签,并使用<td style="text-align: <?php echo $r_or_c; ?>;"> 那,或者为td ('right' 或 'center')分配一个类名,并使用它来设置text-alignment的样式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM