[英]PHP While - Color change every time
我有一個PHP while循環,它在一個表中顯示數據庫的內容。 我想將表中的所有行設置為不同的顏色。
但不僅僅是隨機的。 我希望它們具有不同的紅色陰影,第一行的顏色最紅色,然后其余的顏色逐漸淡化為紅色。
例如,我想要與iPhone App相同的效果:清除。 照片示例: 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>
您必須在表格行中應用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>
如果每個元素需要不同的顏色,則靜態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
}
?>
您還可以嘗試使用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,因為您可以精細控制例如“顏色柔和度”等更多內容,如上例所示。
<?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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.