試圖根據php時間獲得正確的漸變顏色。當我嘗試時,梯度不匹配(I.E. topcolor從第一小時塊和bottomcolor從第四小時塊塊匹配)。PHP基於時間的漸變背景
<?php
$time = date("H");
if($time >= 06 && $time < 12)
$topcolor = 'black';
$bottomcolor = 'orange';
if($time >= 12 && $time < 18)
$topcolor = 'pink';
$bottomcolor = 'purple';
if($time >= 18 && $time < 24)
$topcolor = 'yellow';
$bottomcolor = 'blue';
if($time >= 24 && $time < 6)
$topcolor = 'red';
$bottomcolor = 'green';
?>
<style>
body {
background: <?php echo $bottomcolor;?>;
background: -webkit-linear-gradient(<?php echo $topcolor;?>, <?php echo $bottomcolor;?>) <?php echo $bottomcolor;?>;
background: -o-linear-gradient(<?php echo $topcolor;?>, <?php echo $bottomcolor;?>) <?php echo $bottomcolor;?>;
background: -moz-linear-gradient(<?php echo $topcolor;?>, <?php echo $bottomcolor;?>) <?php echo $bottomcolor;?>;
background: linear-gradient(<?php echo $topcolor;?>, <?php echo $bottomcolor;?>) <?php echo $bottomcolor;?>;
background-repeat: no-repeat;
}
</style>
您需要使用大括號*要包含你的條件塊。 'if(...){code}'。你也應該考慮使用else if。 – Devon
你還有其他一些問題,沒有什麼比6和大於24.雖然'06 == 6',你不應該習慣在整數上加0作爲前綴,因爲'016 == 14',前綴爲0時使用的是八進制數。 – Devon
將06更改爲6,將最後一次的24替換爲0.還爲每個條件添加了括號。你認爲這些代碼可以正常工作嗎?我很擔心從<24 to > = 0開關---將背景開關看起來沒有? – Qwerty