这是我的乘法表代码。 通过组合PHP和HTML / CSS,我需要将每个交替的行背景颜色设置为白色或灰色。
我曾想过使用一行并使用%2==1 and %2==0 to
找出奇数和偶数行,但我如何定位这些行以使我的css文件上的id或类成为目标?
我在哪里插入此代码?
<?php
echo '<table>';
echo '<tr><th></th>';
for ($x = 1; $x <= 9; $x++)
echo '<th>'.$x.'</th>';
echo '</tr>';
for ($y = 1; $y <= 9; $y++)
{
echo '<tr><th>'.$y.'</th>';
for ($z = 1; $z <= 9; $z++)
{
echo '<td>'.($y * $z).'</td>';
}
echo '</tr>';
}
echo '</table>';
?>
答案 0 :(得分:2)
当CSS可以很好地设置备用元素的样式时,无需使用PHP分配类。使用nth-child
,您可以非常轻松地设置备用行的样式。
tr:nth-child(even) {
background: #f5f5f5;
}
tr:nth-child(odd) {
background: #ddd;
}
这是一个小提示:Fiddle
以下是nth-child
选择器的更多信息:https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-child
答案 1 :(得分:0)
echo '<tr class ="' . ( $y % 2 == 0 ? 'even' : 'odd' ) . '"><th>'.$y.'</th>';
您可以使用三元运算符插入类
条件?如果为真:如果为假;
答案 2 :(得分:0)
As Dryden Long评论,最好是CSS,但如果你确实需要用php做,你可以这样做:
<?php
echo '<table>';
echo '<tr><th></th>';
for ($x = 1; $x <= 9; $x++)
echo '<th>'.$x.'</th>';
echo '</tr>';
for ($y = 1; $y <= 9; $y++)
{
echo '<tr class="'. ( ($y%2 == 0 ) ? 'even' : 'odd' ).'"><th>'.$y.'</th>';
for ($z = 1; $z <= 9; $z++)
{
echo '<td>'.($y * $z).'</td>';
}
echo '</tr>';
}
echo '</table>';
然后你只需要添加CSS类,所有这些都将起作用。
table tr.even { background-color: blue }
table tr.odd { background-color: red }