2013-03-01 57 views
1

我做了一個百分比欄(只是一個簡單的想法)。我製作了一個CSS規則和一個簡短的PHP代碼塊。出於某種原因,較大的欄不會顯示。然而,顯示使用多少空間的較小的一個將會。我在這裏錯過了什麼?PHP和CSS百分比欄不顯示div

PHP:

$free = disk_free_space("F:"); 
$total = disk_total_space("F:"); 
$used = $total - $free; 
$value = $used; 
$max = $total; 
$scale = 4.0; 
if (!empty($max)) { $percent = ($value * 100)/$max; } 
else { $percent = 0; } 
if ($percent > 100) { $percent = 100; } 

CSS:

.percentbar { 
background-color: #CCC; 
border: solid 2px #000; 
height:16px; 
} 
.percentbar div { 
background-color: #F90; 
height: 16px; 
} 

HTML:

<div class="percentbar" style="width:<?php echo round(100 * $scale); ?>px"> 
<div style="width:<?php echo round($percent * $scale); ?>px;"> 
</div> 
</div> 

在HTML中第一個div沒有被顯示,在顯示的子公司股利。

+0

'var_dump($ per分)'你得到了什麼? – martriay 2013-03-01 03:41:32

+0

可能是你沒有得到$ percent的價值。所以試圖顯示它並檢查$ percent是否有任何值 – 2013-03-01 03:57:01

+0

@martriay使用var_dump($ percent)它給出我所期望的:float(31.631995391554)。我不小心刪除了我的CSS部分,並且我在重新編寫它時猜測,我在某處沿着線條搞砸了,因爲這在以前工作。 – 2013-03-01 04:04:17

回答

0

$%的可能會一直有一個值小於100,因爲$價值/ $ max是0和1之間,以100乘以它就會讓小於100小酒吧可能只是在較大欄的頂部。

+0

我回應了百分之百,我得到了我應該的:大約31%。 – 2013-03-01 04:23:27

1

我不認爲你的問題是CSS。 如果你把兩個div的寬度相同,你就不會看到其中的一個。

所以你必須確定你打印寬度的php值。如果他們兩個div的或不正確的一樣,第一個div可顯然沒有顯示


我跟你究竟在說相同的值測試它只是現在和它完美的作品。檢查是否有可能是另一個CSS重寫這一個

Percent bar

+0

我檢查了兩個酒吧的兩個PHP值。我使用的百分比爲127px,較大的div欄爲400px。我錯過了什麼? – 2013-03-01 04:31:54

+0

我剛剛測試過它,它完全符合你說的相同的值,並且它完美地工作。 檢查是否可以有另一個CSS重寫這個 – 2013-03-01 04:37:22

+0

......它是怎麼發生的?沒有線索。但是當我刪除註釋<! - BEGIN BETA CSS - >上面的幾行時,問題就解決了。對於這樣一個愚蠢的問題,我很抱歉浪費你的時間,但感謝你的幫助。如果我可以幫你回報,我會......但正如你所看到的,我不能寫代碼來拯救我的生命。 – 2013-03-01 05:05:54

0
<style> 
    .percentbar { 
    background-color: #CCC; 
    border: solid 2px #000; 
    height:16px; 
    } 
    .percentbar div { 
    background-color: #F90; 
    height: 16px; 
    } 
</style> 
<html> 
<?php 

$free = disk_free_space("F:"); 
$total = disk_total_space("F:"); 
$used = $total - $free; 
$value = $used; 
$max = $total; 
$scale = 4.0; 
if (!empty($max)) { $percent = ($value * 100)/$max; } 
else { $percent = 0; } 
if ($percent > 100) { $percent = 100; } 
?> 

<div class="percentbar" style="width:<?php echo round(100 * $scale); ?>px"> 
<div style="width:<?php echo round($percent * $scale); ?>px;"> 
</div> 
</div> 

</html> 

這一個顯示:

enter image description here

可能是你把PHP代碼percentbar的div正在爲什麼它不顯示灰色條:

<style> 
    .percentbar { 
    background-color: #CCC; 
    border: solid 2px #000; 
    height:16px; 
    } 
    .percentbar div { 
    background-color: #F90; 
    height: 16px; 
    } 
</style> 
<html> 


<div class="percentbar" style="width:<?php echo round(100 * $scale); ?>px"> 
<div style="width:<?php echo round($percent * $scale); ?>px;"> 
</div> 
</div> 
<?php 

$free = disk_free_space("F:"); 
$total = disk_total_space("F:"); 
$used = $total - $free; 
$value = $used; 
$max = $total; 
$scale = 4.0; 
if (!empty($max)) { $percent = ($value * 100)/$max; } 
else { $percent = 0; } 
if ($percent > 100) { $percent = 100; } 
?> 
</html>