PHP While - 每次都会改变颜色

时间:2012-11-17 10:08:02

标签: php css colors html-table gradient

我有一个PHP while循环,它在表格中显示数据库的内容。 我想让表格中的所有行都有不同的颜色。

但不仅仅是随机的。我希望它们有不同的红色,第一排最红,然后其余部分变成浅红色。

作为一个例子,我想要与iPhone应用程序相同的效果:清除。 照片示例:http://www.realmacsoftware.com/_resources/clear/images/ss_pinch.png

我试图在CSS和一些jQuery中使用-nth制作效果,但是无法理解。我希望你能试一试。

以下是代码:

<table>


<tr>
<td align="center"><strong>Navn:</strong></td>
<td align="center"><strong>Spørgsmål:</strong></td>
<td align="center"><strong>Tid:</strong></td>

</tr>
<?php
while($rows=mysql_fetch_array($result)){
?>
<tr>
<td><? echo $rows['name']; ?></td>
<td><? echo $rows['ask']; ?></td>
<td><? echo $rows['time']; ?></td>


<?php
}
?>

</tr>
</table>

4 个答案:

答案 0 :(得分:2)

您必须在表格行中应用css。

<div class="grad">
<table>
<tr>
<td align="center"><strong>Navn:</strong></td>
<td align="center"><strong>Spørgsmål:</strong></td>
<td align="center"><strong>Tid:</strong></td>
</tr>
<?php
while($rows=mysql_fetch_array($result)){
?>
<tr>
<td><? echo $rows['name']; ?></td>
<td><? echo $rows['ask']; ?></td>
<td><? echo $rows['time']; ?></td>
</div>
 <?php
 }
?>
</tr>
</table>


<script>

//css Part
.grad
{
   background: -webkit-gradient(linear, left top, left bottom, from(#ccc), to(#000));
}
</script>

答案 1 :(得分:1)

如果每个元素需要不同的颜色,则静态CSS文件无法描述。您可以动态生成CSS文件,但我选择内联样式。如果可以使用静态CSS文件,请不要使用内联样式。

对于从红色到白色的简单线性插值,坚持您的编码风格。我还删除了一个不属于那里的额外</div>

<?php
$num_rows=mysql_num_rows($result);
$cur_row=0;
while($rows=mysql_fetch_array($result)){
$color=intval(256*$cur_row/($num_rows-1));
$cur_row++;
?>
<tr style="background:rgb(256,<? echo $color.','.$color;>);">
<td><? echo $rows['name']; ?></td>
<td><? echo $rows['ask']; ?></td>
<td><? echo $rows['time']; ?></td>
<?php
}
?>

答案 2 :(得分:1)

你也可以玩Javascript和HSV(这是一个不同的'颜色坐标系')。

Jsfiddle演示:http://jsfiddle.net/QXLRg/7/
另一个演示:http://jsfiddle.net/QXLRg/8/
另一个:http://jsfiddle.net/QXLRg/10/

(我做的只是改变'h'值..)

var h = 0.4;
var s = 0.9;
var v = 0.95;

所以,如果你想以编程方式创建不同的颜色,那么使用HSV而不是原始RGB会更好,因为你可以很好地控制例如'颜色温和'以及更多的东西......正如你在上面所看到的示例

答案 3 :(得分:0)

<?php
$colors = array("yellow","red","green","silver");
$i=0;
while($rows=mysql_fetch_array($result)){
?>
<tr bgcolor="<?php echo $colors[$i]; ?>">
<td><? echo $rows['name']; ?></td>
<td><? echo $rows['ask']; ?></td>
<td><? echo $rows['time']; ?></td>


<?php
$i<3?$i++:$i=0;
}
?>

如果您想要rgb颜色模式,请将颜色名称更改为rgb比例,例如rgb(100,100,100)

相关问题