簡體   English   中英

PHP While-每次都會改變顏色

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM