繁体   English   中英

动态表上的交替表行背景色

[英]Alternating table row background colors on a dynamic table

我有一个由foreach循环生成的表。

在循环之前,我创建$iteration = 0 在循环开始时,它会增加$iteration

然后我这样做:

if($iteration % 2 == 0) { 
  $greyRow = 'css for a grey row'; 
}

我最多只能测试三行,但是在当前规则下,似乎第二行和第三行显示为灰色,而不是第二行。

以下将为偶数行添加一个grey类。

echo '<tr', ($iteration & 1 ? ' class="grey"': ''), '>';

注意

这使用按位运算符 这是微优化,但远比模运算符(尽管在这些情况下众所周知)更优化。

另外,我鼓励您将CSS类用于偶数和奇数行,而不是内联样式,或者仅切换单个类(即grey )。

echo '<tr class="', ($iteration & 1 ? 'even': 'odd'), '">';

也许您还需要使用else语句将其设置回奇数行上的其他颜色。 在没有看到更多实现的情况下不太确定。

if ($iteration % 2 == 0) {
    $css = 'css for a grey row';
} else {
    $css = 'css for a white row';
}

我喜欢做这种事情。

<style type="text/css">
.odd td { background: #eee; }
</style>
<tr class="<?= ++$iteration % 2? 'odd' : 'even'; ?>">....</tr>

暂无
暂无

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

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