0

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

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

举个例子,我想要和 iPhone App 一样的效果:Clear。图片示例: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

4 回答 4

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>
于 2012-11-17T10:15:23.000 回答
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
}
?>
于 2012-11-17T10:25:47.100 回答
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 会更好,因为您可以很好地控制例如“颜色柔和度”等等。如上例所示

于 2012-11-17T11:04:22.003 回答
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)

于 2012-11-17T10:13:14.933 回答