1

我做了一个百分比条(只是一个简单的想法)。我制定了一个 CSS 规则和一个简短的 PHP 代码块。由于某种原因,较大的条不会显示。但是,显示使用了多少空间的较小的那个。我在这里想念什么?

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 未显示,而辅助 div 正在显示。

4

3 回答 3

1

我不认为你的问题是css。 如果您为两个 div 设置相同的宽度,您将不会看到其中一个。

所以你必须确定你在宽度上打印的 php 值。如果两个 div 相同或不正确,则第一个 div 可能显然没有显示


我刚才已经用你所说的完全相同的值对其进行了测试,并且效果很好。检查是否可以有另一个 css 覆盖这个

百分比条

于 2013-03-01T04:11:17.127 回答
0

$percent 的值可能总是小于 100,因为 $value/$max 介于 0 和 1 之间,将其乘以 100 将始终小于 100。较小的条可能正好位于较大的条之上。

于 2013-03-01T04:08:42.893 回答
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>

这个显示:

在此处输入图像描述

可能是您将 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>
于 2013-03-01T05:04:15.410 回答